2010-10-19 46 views
0

默認能見度枚舉包含WPF可視性問題

Collapsed 
Hidden 
Visible 

我需要另一個名稱NotCreatable。將可見性設置爲不可用時,當前元素不能在視圖級別創建。

因爲我有2類與

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

我的XAML繼承

<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> 

有時對象A是B,有時對象A是C.但我的問題是,當爲-C == TRUE, 第一Stackpanel成功隱藏。但綁定的作品。出現以下錯誤 System.Windows.Data Error: 40 : BindingExpression path error: 'B1' property not found on 'object' 'C'

回答

0

即使對象已摺疊,綁定可能仍在執行。也許你應該使用轉換器進行綁定?

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

然後讓MyPropertyPicker-converter選擇要綁定的屬性?

+0

的StackPanel和文本框是對我的問題例如相同。但主項目包含不同的控件綁定。 – ebattulga 2010-10-19 10:18:41

+0

這的確很棘手。然後,我倒是想你將需要使用某種ItemTemplate中的你與datatrigger切換。或者,您可以使用樣式根據對象類型觸發的樣式進行綁定。 – Almund 2010-10-19 10:27:22

+0

檢查這一個,使用一個ItemsControl爲的DataTemplates的結合: – Almund 2010-10-19 10:36:44