我有一个标签和文本框为内容简单的文本块。 我想文本块的IsEnabled属性绑定到我的视图模型的属性。无论出于何种原因,标签和文本框住禁用即使IsEnabled属性是适当改变的视图模型。

任何人都知道是怎么回事?

:此不起作用:

<TextBlock IsEnabled="{Binding Path=IsEnabledProperty}">
    <Label Content="Test"/>
    <TextBox Text="blah"/>
</TextBlock>

:该作品就好:

<TextBlock>
    <Label IsEnabled="{Binding Path=IsEnabledProperty}" Content="Test"/>
    <TextBox IsEnabled="{Binding Path=IsEnabledProperty}" Text="blah"/>
</TextBlock>

难道仅仅是一个坏主意,使用TextBlock的这样吗?

有帮助吗?

解决方案

是的,这是一个坏主意。当放置非字符串对象在文本属性它被用作内容元素,就象是在的FlowDocument,因此不是交互的像正常FrameworkElements。

其他提示

您是否尝试过一个StackPanel呢?

   <StackPanel Orientation="Horizontal" IsEnabled="{Binding Path=IsEnabledProperty}">
    <Label Content="Test"/>
    <TextBox Text="blah"/>
   </StackPanel>

是您IsEnabledProperty依赖属性?

您确定您的引发PropertyChanged事件对你的财产IsEnableProperty当你在视图模型更新呢?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top