簡體   English   中英

在選擇更改時設置TextBlock可見性

[英]Setting TextBlock Visibility on selection Change

目前,我有一個組合框,並且想要更改某些選擇上TextBlock的可見性。

錯誤,產生的Object reference not set to an instance of an object.

private void Selection(object sender, SelectionChangedEventArgs e)
{
    if (Findpf() == 12)
    {
        DateAutoCompleteBox.Visibility = System.Windows.Visibility.Collapsed;
    }
    else
    {
        DateAutoCompleteBox.Visibility = System.Windows.Visibility.Visible;
    }
}

嘗試= Visibility.Collapsed也折疊,結果相同。 我該如何解決 ?

public uint Findpf()
{
    if (Pf.Text == "Annual")
    {
        return 1;
    }
    if (Pf.Text == "Semi-annual")
    {
        return 2;
    }
    if (Pf.Text == "Tri-Annual")
    {
        return 3;
    }
    if (Pf.Text == "Quarterly")
    {
        return 4;
    }
   if (Pf.Text == "Bi-Monthly")
    {
        return 6;
    }
     if (Pf.Text == "Monthly")
    {
         return 12;
    }
}

Autocompletebox Xaml的初始化

<telerik:RadAutoCompleteBox x:Name="DateAutoCompleteBox" Visibility="Visible" Width="220"></telerik:RadAutoCompleteBox>

您可以嘗試檢查此值是否為空

private void Selection(object sender, SelectionChangedEventArgs e)
{
    if(DateAutoCompleteBox == null)
    {
        MessageBox.Show("DateAutoCompleteBox   is null"); return;
    }
    if(Pf == null)
    {
        MessageBox.Show("Pf  is null"); return;
    }
    if(Pf.Text == null)
    {
        MessageBox.Show("Pf.Text  is null"); return;
    }
    if (Findpf() == 12)
    {
        DateAutoCompleteBox.Visibility = System.Windows.Visibility.Collapsed;
    }
    else
    {
        DateAutoCompleteBox.Visibility = System.Windows.Visibility.Visible;
    }
}

DateAutoCompleteBox設置為null,您不能訪問或設置未初始化對象的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM