Laden...

[WPF] Conainersuche

Erstellt von eclere vor 18 Jahren Letzter Beitrag vor 18 Jahren 4.457 Views
E
eclere Themenstarter:in
95 Beiträge seit 2006
vor 18 Jahren
[WPF] Conainersuche

Hallo,

in welchem Container kann ich belibig Controls hinzufügen, welcher aber selbst in einer Viewbox positioniert werden kann.

Endergebnis soll sein dass alle Controls mit dem Elternfenster skaliert werden ohne Code zu schreiben.

gruß Thorsten

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo eclere,

hm, ganz genau habe ich es nicht verstanden, aber ich denke: Panel.

herbivore

E
eclere Themenstarter:in
95 Beiträge seit 2006
vor 18 Jahren

Hallo herbivore,

einen reinen Panel gibt es in WPF leider nicht. Ich denke mal der Ersatz wird wohl Canvas sein. Bei diesem kann ich aber keine StackPanel einfügen.

Weite Infos gibts hier: http://msdn.microsoft.com/winfx

gruß Thorsten

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo eclere,

sorry, hatte das WPF ganz überlesen. Canvas klingt gut.

Unter WindowsForms kann man alles Controls - also auch alle Container - in alle Container packen. Sollte das in WPF nicht mehr so sein?

Oder mischt du Windows-Forms mit WPF?

herbivore

E
eclere Themenstarter:in
95 Beiträge seit 2006
vor 18 Jahren

Hallo,

irgendwo habe ich WPF betreffend mal gehört man könne alles in alles packen. Dem ist aber nicht so. Entweder mit Absicht, oder weil noch alles beta ist.

Die Viewbox ist so ein Beispiel. Sie kann nur ein Child enthalten.

Genauso funktioniert Viewbox->Canvas->Stackpanel nicht.

Ich dachte erst die Kombination aus Margin, Width und Height wäre der richtige Weg. Dann ändern sich die Positionen der Controls aber nicht.

Nein, ich probiere mich nur an WPF.

gruß Thorsten

B
119 Beiträge seit 2005
vor 18 Jahren

einen reinen Panel gibt es in WPF leider nicht. Ich denke mal der Ersatz wird wohl Canvas sein. Bei diesem kann ich aber keine StackPanel einfügen.

Kann ich ehrlich gesagt nicht nachvollziehen, was du meinst.

<Page
  xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
  xmlns="http://schemas.microsoft.com/winfx/avalon/2005">
    <Viewbox>
      <Canvas Width="60" Height="60">
        <StackPanel>
          <Button>1. Button</Button>
          <Button>2. Button</Button>
        </StackPanel>
      </Canvas>
    </Viewbox>
</Page>

irgendwo habe ich WPF betreffend mal gehört man könne alles in alles packen. Dem ist aber nicht so. Entweder mit Absicht, oder weil noch alles beta ist.

Bei WPF wird halt im Gegensatz zu Windows Forms, oder ähnlichen GUI Bibliotheken die Möglichkeit angeboten bei vielen Controls irgendetwas als Inhalt einzufügen, nicht wie früher z.B: nur Text für einen Button oder ähnliches. Durch die Kombination mit Panels, also als konkretes "irgendetwas", kann man eben somit quasi "alles in alles" packen, was natürlich nicht ganz stimmt, denn die entscheidende Basisklasse ist dabei ContentControl.

Wofür willst du denn jetzt die Viewbox konkret verwenden, denn eventuell bist du mit anderen Panels besser aufgehoben, die ähnliche Funktionalität bieten?

E
eclere Themenstarter:in
95 Beiträge seit 2006
vor 18 Jahren

Hallo Bernhard,

Dein Code war auch mein erster Gedanke. Leider stürzt so mei mir immer die IDE ab. Daher bin ich davon ausgegangen das es nicht geht. Zumindest jetzt noch nicht.

Generell möchte ich bequem ein ganzes Set an Controls im Fenster skalieren. Ob dafür die Viewbox das richtige ist, weiß ich noch nicht. Ich probiere ja noch. Generell traue ich das WPF aber ohne Code zu.
Vielleicht kennst Du WindowsMCE. Im Prinzip hätte ich gerne so eine Skalierung.

gruß Thorsten

B
119 Beiträge seit 2005
vor 18 Jahren

Dein Code war auch mein erster Gedanke. Leider stürzt so mei mir immer die IDE ab. Daher bin ich davon ausgegangen das es nicht geht. Zumindest jetzt noch nicht.

Kann ich jetzt nicht nachvollziehen wieso, da ich die Visual Studio Extensions nicht zur Hand habe. Ich verwende halt für so kleine Spielerein das XamlPad, ist eh im SDK dabei.

Generell möchte ich bequem ein ganzes Set an Controls im Fenster skalieren. Ob dafür die Viewbox das richtige ist, weiß ich noch nicht. Ich probiere ja noch. Generell traue ich das WPF aber ohne Code zu.

Die Viewbox wird eigentlich nicht verwendet um was anderes als Zeichnungen zu skalieren, da auch nur ein Satz von Shapes skaliert wird. Am besten vergleichst du dazu einfach mal die Variante mit und ohne Viewbox, denn der Unterschied dürfte dir eh schnell auffallen (du wärst beinahe blind, wenn nicht).


<Page
    xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
    xmlns="http://schemas.microsoft.com/winfx/avalon/2005">
	<Viewbox>
		<Button>Click me!</Button>
	</Viewbox>
</Page>


<Page
    xmlns:x="http://schemas.microsoft.com/winfx/xaml/2005"
    xmlns="http://schemas.microsoft.com/winfx/avalon/2005">
	<DockPanel>
		<Button>Click me!</Button>
	</DockPanel>
</Page>

In diesem Beispiel hab ich jetzt einfach DockPanel verwendet, aber je nach Bedarf dürften sich auch andere Panels anbieten, wie StackPanel und besonders Grid.

grüße
Bernhard Huemer

E
eclere Themenstarter:in
95 Beiträge seit 2006
vor 18 Jahren

Hallo,

Danke erstmal. Ich werd mich da wohl noch länger einarbeiten müssen.

gruß Thorsten