Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 无法将ListView.SelectedItems.Count绑定到Button.IsEnabled_Xaml_Winrt Xaml - Fatal编程技术网

Xaml 无法将ListView.SelectedItems.Count绑定到Button.IsEnabled

Xaml 无法将ListView.SelectedItems.Count绑定到Button.IsEnabled,xaml,winrt-xaml,Xaml,Winrt Xaml,我有一个按钮要绑定到listview的selectedItem计数。我找不到我的错误在哪里。无论testListView.SelectedItems.Count如何,按钮状态始终处于启用状态 我需要某种转换器吗?如果计数为零,它应该隐式地将其转换为false no <ListView x:Name="testListView" SelectionMode="Multiple" BorderThickness="1"> <List

我有一个按钮要绑定到listview的selectedItem计数。我找不到我的错误在哪里。无论testListView.SelectedItems.Count如何,按钮状态始终处于启用状态

我需要某种转换器吗?如果计数为零,它应该隐式地将其转换为false no

<ListView x:Name="testListView"  SelectionMode="Multiple" BorderThickness="1">            
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding Name}"/>                       
                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
</ListView>

<Button x:Name="Button" Content="TestButton" IsEnabled="False" IsEnabled="{Binding ElementName=testListView, Path=SelectedItems.Count}"/>

由于
SelectedItems
集合的
Count
属性的类型为
int
,并且
IsEnabled
属性需要
bool
输入,并且C#中不存在
int
bool
的隐式转换,因此您需要一个转换器或数据触发器

一个简单的
IValueConverter
应该可以做到这一点,只需使用

return ((int)value) > 0;

作为
转换功能的内容

通过样式使用数据触发器进行更新;像这样的方法应该会奏效:

<Button x:Name="Button" Content="TestButton">
    <Button.Style>
        <Style TargetType="Button">
            <Setter Property="IsEnabled" Value="true" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding ElementName=testListView, Path=SelectedItems.Count}" Value="0">
                    <Setter Property="IsEnabled" Value="false" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>


错误消息显示了什么?@Mephy输出窗口中没有错误