注:我使用Visual Studio 2012WPF數據模板和按鈕
我有以下的DataTemplate(注:有一個TextBlock和Button)
<DataTemplate DataType="{x:Type ctlDefs:myButton}">
<StackPanel>
<TextBlock Text="{Binding LabelText}" Margin="10,0,10,0"/>
<Button Content="{Binding LabelText}" Margin="0,0,10,0"
Width="{Binding ButtonWidth}"
Height="35"
Command="{Binding ButtonCommand}"
Visibility="Visible"
/>
</StackPanel>
</DataTemplate>
我的屏幕動態添加myButton的控件到項控件
<ItemsControl ItemsSource="{Binding CommandButtons, Mode=OneWay}"
FlowDirection="LeftToRight"
DockPanel.Dock="Right"
>
我第一次渲染視圖中,文本塊顯示爲每個按鍵,但按鍵本身並沒有。如果我隱藏視圖並再次顯示,則按鈕有時會出現(如果CommandButton列表不更改,如果更改,則永不顯示)。
渲染視圖後,我查看了輸出窗口並沒有發生綁定錯誤。
我錯過了什麼。
這是否也發生,如果你不綁定按鈕的寬度? ButtonWidth實現INotifyPropertyChanged嗎? – LPL 2013-03-13 22:13:42
是的。如果我刪除ButtonWidth,它的功能相同。從使用WPF檢查器可以看出,按鈕看起來像是在那裏(爲它保留的空間),並且當它顯示出來時,所有屬性都從第一個加載到第二個加載。 – adondero 2013-03-13 22:50:37