【发布时间】:2012-11-28 10:39:19
【问题描述】:
我有一个小型 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 的属性?
有可能吗?怎么样?
【问题讨论】:
-
我不明白你想要达到什么目的。这可能只是我累了,但如果这个评论得到了赞成 - 或者你没有得到答案 - 试着澄清这个问题,可能用一张图片左右。我不明白的是:正确的部分何时无效?用户不能在那里编辑任何内容。为什么不通过将列表框设置为禁用 (
IsEnabled = false) 来阻止选择? -
如果不选择列表框视图中的项目,你能计算出你的右视图是否无效吗?
-
@DanielHilgarth 我现在感觉很傻,我不知道为什么我没有想到IsEnabled!如果您可以发表您的评论作为答案,我会验证它。