0
ツリービューのボタンをメソッドにバインドする方法は、そのノードの名前がわかりますか? は、これまでのところ私は(「あなたは123をクリックした」)メッセージボックスで、たとえば私を知らせる方法を書くためにどのようにこのC#WPFツリー内のノード内のボタン
を得ましたか。
XAML:
<TreeView Name="trvDevices" HorizontalAlignment="Right" Margin="0,135,9,16" Width="193" >
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type self:WirelessCable}" ItemsSource="{Binding Members}">
<StackPanel Orientation="Horizontal">
<Image Margin="0,0,5,0" />
<TextBlock Text="{Binding Name}" />
<TextBlock Text=" [" Foreground="Blue" />
<TextBlock Text="{Binding Members.Count}" Foreground="Blue" />
<TextBlock Text="]" Foreground="Blue" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type self:Device}">
<StackPanel Orientation="Horizontal">
<Image Margin="0,0,5,0" />
<TextBlock Text="{Binding ID}" />
<TextBlock Text=" - " />
<TextBlock Text="{Binding ConnectionStatus}"/>
<TextBlock Text=", " />
<TextBlock Text="{Binding Armed}"/>
<Button x:Name="btnTRV" Content="Click" Width="40" Height="20"></Button>
</StackPanel>
</DataTemplate>
</TreeView.Resources>
</TreeView>
CS:コメントの一つは言ったが、デフォルトのDataContextがあることを行っているよう
public class WirelessCable
{
public WirelessCable()
{
this.Members = new ObservableCollection<Device>();
}
public string Name { get; set; }
public ObservableCollection<Device> Members { get; set; }
}
public class Device
{
public int ID { get; set; }
public string Armed { get; set; }
public string ConnectionStatus { get; set; }
}
よろしく
[ICommand](https://msdn.microsoft.com/en-us/library/system.windows.input.icommand(v = vs.110).aspx)をそれにバインドすることができます: ' ' – Xiaoy312
RxUI、MvvmLightなどのさまざまなライブラリには、独自の実装があります。または、次のように自分自身を実装することもできます:https://stackoverflow.com/questions/22285866/why-relaycommand – Xiaoy312