1

我有一个小型 WPF 应用程序(.Net 3.5 :/ )。

在这个应用程序中,我有一个列表框,它允许我在应用程序的右侧选择要编辑的元素。

如果右侧部分无效,我需要防止用户更改元素的选择。

我对此进行了很多搜索:有些人告诉要更改背景/画笔以使其看起来无法选择(但仍然可以选择)

其他一些人告诉我更新子元素的 IsFocusable 属性:

<ListBox itemsSoutces={Binding Test}>
    <ListBoxt.ItemContainerStyle>
        <Style TargetType="{x:Type ListBoxItem}">
            <Setter Property="Focusable" Value="False"/>
        </Style>
    </listBox.ItemContainerStyle>
</ListBox>

这个解决方案的问题是这个值必须来自我的 ViewModel 的值,我不知道(也不可能)将 Style Setter 的值绑定到我的 ViewModel 的属性?

是否可以?如何?

4

1 回答 1

1

如果右侧部分无效,我会简单地禁用列表框,方法是设置IsEnabled为 false。如果您的 ViewModel 包含相应的属性,您可以绑定到该属性:

<ListBox IsEnabled="{Binding IsValid}" ...> ... </ListBox>
于 2012-11-28T14:38:13.433 回答