Wpf 如何在选定treeview项目时启用按钮?
我有一个树视图和一个按钮 当树状视图中没有选择项目时,我想禁用按钮(IsEnabled=false)(当选择项目时,我想启用按钮…) 我该怎么做 这是我的XAML:Wpf 如何在选定treeview项目时启用按钮?,wpf,treeview,triggers,Wpf,Treeview,Triggers,我有一个树视图和一个按钮 当树状视图中没有选择项目时,我想禁用按钮(IsEnabled=false)(当选择项目时,我想启用按钮…) 我该怎么做 这是我的XAML: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:i="http://schem
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
x:Class="WpfApplicationTreeViewTest.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="640" Height="480" WindowStartupLocation="CenterScreen" Margin="40" >
<StackPanel>
<TreeView x:Name="strategyTreeView" Margin="10 40 10 10">
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
</TreeView>
<Button Name="Panel" Content="Selected" Height="40" Width="100" Margin="10"/>
</StackPanel>
</Window>
首先,您必须禁用按钮,因为加载后,控件将没有选择,通过使用此XAML
<Button Name="Panel" Content="Selected" Height="40" Width="100" Margin="10" IsEnabled="False"/>
代码隐藏:
private void strategyTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if (e.NewValue != null)
Panel.IsEnabled = true;
}
private void strategyTreeView\u SelectedItemChanged(对象发送方,RoutedProperty ChangedEventArgs e)
{
如果(如NewValue!=null)
Panel.IsEnabled=true;
}
您可以通过如下按钮上的触发器来实现:
<StackPanel>
<TreeView x:Name="strategyTreeView" Margin="10 40 10 10">
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
</TreeView>
<Button Name="Panel" Content="Selected" Height="40" Width="100" Margin="10">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=strategyTreeView, Path=SelectedItem}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>
<StackPanel>
<TreeView x:Name="strategyTreeView" Margin="10 40 10 10">
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
<TreeViewItem Header="Test"></TreeViewItem>
</TreeView>
<Button Name="Panel" Content="Selected" Height="40" Width="100" Margin="10">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=strategyTreeView, Path=SelectedItem}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</StackPanel>