我試圖根據組合框的選定值顯示標籤。我正在使用VS2010。C#WPF標籤可見性異常
下面的代碼:
private void pointsSettings_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (this.pointsSettings.SelectedValue.ToString() == "between")
{
pointsAboveLabel.Visibility = Visibility.Collapsed;
}
else
{
pointsAboveLabel.Visibility = Visibility.Visible;
}
}
而XAML:
<ComboBox Name="pointsSettings" SelectionChanged="pointsSettings_SelectionChanged">
<ComboBoxItem Content="between" />
<ComboBoxItem Content="above" IsSelected="True" />
<ComboBoxItem Content="below" />
</ComboBox>
<Label Content="points" Name="pointsAboveLabel" />
<Label Content="and" Name="pointsBetweenLabel" Visibility="Collapsed" />
這裏是我得到的錯誤: 文如下:未設置爲實例「對象引用一個對象「。
我知道還有另一個問題非常相似 - 事實上有相同的錯誤 - 但提供的解決方案(將變量初始化移動到InitializeComponent()方法調用上方)並不適合我,因爲我有沒有對象初始化。
任何和所有的幫助最受熱烈讚賞。
幾乎所有'NullReferenceException'的情況都是一樣的。請參閱「[什麼是.NET一個NullReferenceException?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-in-net)」獲得一些提示。 – 2013-02-26 17:10:10
@JohnSaunders謝謝你。我真的應該開始獨立調試,然後詢問是否需要幫助。儘管在這種情況下,我可能仍然會問,因爲我認爲事件處理程序在所有XAML執行完畢後才運行。我將書籤鏈接,我覺得它可能會派上用場...... – 2013-02-26 17:40:35
注意,從@BrianS答案,下面,幾乎說什麼我的鏈接說:變量未初始化。他回答說_reason_它沒有被初始化,因爲UI還沒有初始化它。 – 2013-02-26 17:58:23