2016-04-12 5 views
1

Ich habe einig Button s mit einem Tag Attribute:In WPF, wie wird der Name eines Steuerelements durch sein Tag im Code erhalten?

<Button x:Name="Button1" Tag="1" /> 
<Button x:Name="Button2" Tag="2" /> 
<Button x:Name="Button3" Tag="3" /> 
<!-- etc. --> 

Ich mag den Namen der Button von Code-behind finden zu können, den Tag verwendet wird. Wie erreiche ich das? Vielen Dank.

+0

Aus welchem ​​Grund? Wenn Sie auf die Tag-Eigenschaft zugreifen können, haben Sie bereits die Schaltfläche. Sie können einige Details hinzufügen, was Sie erreichen möchten. – Clemens

+0

könnten Sie erklären, wann und warum Sie dies tun möchten? – Nitin

+0

@Clemens - Ich habe den Knopf nicht. Ich habe eine Funktion, die eine Nummer generiert, und ich möchte die Schaltfläche Basis für diese Nummer auswählen. Jetzt soll das Attribut "Tag" benutzerdefinierte Daten enthalten, daher dachte ich, dass es eine gute Wahl ist, diese Zahl dort zu platzieren. – Sipo

Antwort

3

Vor allem Namen der Behälter von Schaltflächen werden vorbei (für Beispiel: Ich nannte es "Grid1") Hier ist der Code, um Ihre Schaltfläche zu finden:

+0

Funktioniert wie Magie. – Sipo

0

der MVVM prasseln Nach RelayCommand mit ...

<StackPanel> 
     <Button Content="Button1" x:Name="Button1" Tag="1" Command="{Binding ButtonPressCommand}" CommandParameter="{Binding Path=Tag, RelativeSource={RelativeSource Self}}" /> 
     <Button Content="Button2" x:Name="Button2" Tag="2" Command="{Binding ButtonPressCommand}" CommandParameter="{Binding Path=Tag, RelativeSource={RelativeSource Self}}" /> 
     <Button Content="Button3" x:Name="Button3" Tag="3" Command="{Binding ButtonPressCommand}" CommandParameter="{Binding Path=Tag, RelativeSource={RelativeSource Self}}" /> 
    </StackPanel> 

Sie sollten den ‚Tag‘ Wert zurück auf die Ansichtsmodell als Command

+1

Und wie bekomme ich es aus dem Code zurück? Danke vielmals. – Sipo

Verwandte Themen