0
之前更新我有由幾個結合ItemsControl
的和strings
的,並且基於被按下的按鈕UserControl
,將顯示不同的數據。這裏是Button
的單擊事件的一個示例:ItemsControl的對結合不顯示
private void LeftPreviousScoresButton_Click(object sender, RoutedEventArgs e)
{
if (m_previousScoresWindow.Visibility == Visibility.Visible)
{
m_previousScoresWindow.Hide();
}
else
{
WindowTitle = "Left Side";
PreviousScoresA = m_previousLeftWristErosionScoresReaderA;
PreviousScoresB = m_previousLeftWristErosionScoresReaderB;
m_previousScoresWindow.Show();
}
}
有幾種其分配WindowTitle
,PreviousScoresA
,並PreviousScoresB
與相關的數據,這些點擊事件偵聽器。所述UserControl
然後結合到他們這樣的:
<ItemsControl Height="Auto" Width="Auto"
ItemsSource="{Binding ElementName=ParentForm, Path=PreviousScoresA}"
Grid.Row="1" />
<ItemsControl Height="Auto" Width="Auto"
ItemsSource="{Binding ElementName=ParentForm, Path=PreviousScoresB}"
Grid.Row="2" />
<TextBlock FontSize="16" FontWeight="Bold" Height="25"
Margin="5" HorizontalAlignment="Center" Foreground="Black"
Text="{Binding ElementName=ParentForm, Path=PreviousScoresWindowTitle}" />
然而,打開窗戶時,舊的數據顯示用於第二前將其與當前的數據進行更新。我甚至試過呼籲Window
Hide()
時加入這些電話,但它似乎並沒有幫助:
WindowTitle = String.Empty;
PreviousScoresA = new ObservableCollection<PreviousScoreData>();
PreviousScoresB = new ObservableCollection<PreviousScoreData>();
有什麼辦法,以確保Show()
不叫,直到綁定數據已更新後?謝謝。
我試過了,但問題仍然存在。爲什麼一個'ObservableCollections <>'永遠不會被重新初始化?應該使用'List <>'來代替嗎? – Saggio