Frage

In der Regel wird der WPF-Steuerelemente in den XAML-Dateien und nicht in der Code-behind (.xaml.cs Dateien) erklärt. Aber manchmal muss ich zurück, um sie zu manipulieren einige dieser Kontrollen im Code verwenden. Wie kann ich den Griff einer solchen Kontrolle zu bekommen, wenn es „wohnt“ in der XAML-Datei?

War es hilfreich?

Lösung

Sie können den Findname () -Methode der Control-Klasse verwenden.

// Finding the grid that is generated by the ControlTemplate of the Button
Grid gridInTemplate = (Grid)myButton1.Template.FindName("grid", myButton1);

Andere Tipps

Ich bin nicht sicher, was Sie fragen, also werde ich versuchen, beide Instanzen beantworten, die ich als Ihre Frage bin zu interpretieren.

1) Wenn Sie eine explizite Kontrolle erklären wollen, und dann direkt bearbeiten, alles, was Sie tun müssen, um den Namen Eigenschaft wie so eingestellt ist:

<Canvas x:Name="myCanvas"/>

Sie können dann Zugriff auf die Leinwand durch den Namen als solche:

myCanvas.Background = Brushes.Blue;

2) Wenn Sie suchen eine allgemeine Kontrolle zu erklären, und dann mehrmals verwenden, können Sie es wie folgt tun:

<Window>
   <Window.Resources>
      <Ellipse x:Key="myEllipse" Height="10" Width="10">
   </Window.Resources>
</Window>

Sie können dann auf diese vordefinierten Steuer diese Syntax in Code verwendet:

Ellipse tempEllipse = (Ellipse)FindResource("MyEllipse");

Wenn Sie für mehrere Steuerelemente Resourse als Vorlage verwenden, fügen Sie x:. Geteilt = „false“

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top