我ListView在UserControl中有一个Contained我想在UserControl中没有选择任何项目时禁用一个按钮,这是正确的方法吗?到目前为止,它没有禁用,它只是一直保持启用状态.我已经包含了xaml代码.
searchAccountUserControl是xaml中的UserControl名称属性.AccountListView是ListViewuserControl xaml中的name属性.
<Button Content="Debit" IsEnabled="true" HorizontalAlignment="Left" Margin="18,175,0,0" Name="DebitButton" Width="128" Grid.Column="1" Height="32" VerticalAlignment="Top" Click="DebitButton_Click">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=searchAccountUserControl.AccountListView, Path=SelectedValue}" Value="{x:Null}" >
<Setter Property="Button.IsEnabled" Value="false"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
Run Code Online (Sandbox Code Playgroud)
谢谢.
最后我用过:
在我的ViewModel中:
private bool _isSelected;
public bool IsSelected { get { return _isSelected; }
set { _isSelected = _account.View.CurrentItem != null;
PropertyChanged.SetPropertyAndRaiseEvent(this, ref _isSelected, value,
ReflectionUtility.GetPropertyName(() => IsSelected)); } }
Run Code Online (Sandbox Code Playgroud)
然后在xaml中使用isEnabled ="{Binding Path = IsSelected}".