小编Jon*_*han的帖子

如果在ListView中未选择任何项目,如何禁用按钮

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}".

c# wpf xaml user-controls listview

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

listview ×1

user-controls ×1

wpf ×1

xaml ×1