0

默认可见性枚举包含

Collapsed
Hidden
Visible

我需要另一个名字NotCreatable。当将 Visibility 设置为 Notcreatable 时,当前元素不得在视图级别创建。

因为我有 2 个类继承自 A

public Class B:A
{ Property B1;}
public Class C:A
{ Property C1;}

我的 xml

<stackpanel DataContext="{Binding objectA}">
    <stackpanel Visiblity="{Binding isB,Converter={StaticResource Bool2Visible}}">
        <textbox text="{Binding B1}"/>
    </stackpanel>
    <Grid Visiblity="{Binding isC,Converter={StaticResource Bool2Visible}}">
        <ItemsControl Itemssource="{Binding C1}"/>
    </Grid>
</stackpanel>

有时 objectA 是 B,有时 objectA 是 C。但我的问题是当 isC==true 时,第一个 Stackpanel 成功隐藏。但是绑定有效。显示以下错误 System.Windows.Data Error: 40 : BindingExpression path error: 'B1' property not found on 'object' 'C'

4

1 回答 1

0

即使对象折叠,绑定也可能正在执行。也许您应该改用转换器进行绑定?

<stackpanel DataContext="{Binding objectA}"> 
    <stackpanel> 
        <textbox text="{Binding objectA,Converter={StaticResource MyPropertyPicker}}"/> 
    </stackpanel> 
</stackpanel> 

然后让 MyPropertyPicker-converter 选择要绑定的属性?

于 2010-10-19T10:11:19.617 回答