我有一個標籤項目,我目前正在加載一個用戶控件作爲項目在數據模板中。我有兩個日期選擇器和一個按鈕。點擊這個按鈕,我需要顯示一個堆棧面板,然後加載其他控件。我的問題在於,儘管點擊事件已經觸發,並且新數據在新的對象/集合中可用,但將其分配給視圖中的屬性時,模型並未使用數據更新控件。另外我無法改變面板的可視性。 這是代碼:更新我的視圖模型時,爲什麼我的用戶控件不能更新?
用戶控件是tabitem的數據模板,tabcontrol項目源綁定到集合。因爲當我試圖在我的視圖模型中直接綁定控件和屬性時,我得到了綁定表達式錯誤,我所做的是在模型類構造函數中創建了相同的屬性,並且我獲取/設置了viewmodel屬性的值。目前編譯器顯示沒有綁定錯誤,如果我綁定在模型類中定義的屬性。
<UserContrl>
<StackPanel Grid.Row = "0">
<Button Grid.Column="4" HorizontalAlignment="Left" Content="Generate Graph"
Width="140" Command="{Binding GenGraph}" />
</StackPanel>
<StackPanel Grid.Row = "1" Visibility={Binding ShowReport">
......
</StackPanel>
</UserControl>
您的ViewModel是否實現了`INotifyPropertyChanged`?如果WPF在屬性更改時自動更新UI,那麼該接口是必需的。也許你可以向我們展示你的ViewModel代碼。 – Rachel 2011-12-14 13:53:14