我试图将灰色设置为我的文本框。我正在尝试执行以下代码,但它会抛出异常
“对象引用未设置为对象的实例。”
因为文本框值为null但我希望文本框为灰色,而不管存在或不存在的值。
以下是我用来实现这个概念的代码..
<TextBox
Name="tbHeadline"
Text="{Binding SelectedStory.Headline, UpdateSourceTrigger=PropertyChanged, ValidatesOnExceptions=True, NotifyOnValidationError=True, ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{StaticResource ErrorTemplate}"
Grid.Column="1"
Grid.Row="6"
TextWrapping="NoWrap"
d:LayoutOverrides="Height"
Grid.ColumnSpan="2"
HorizontalAlignment="Stretch"
LostFocus="tbHeadline_LostFocus"
/>
以下是我在Xaml.Cs中使用的代码
tbHeadline.Foreground = Brushes.Gray;
我也试过以下代码
tbHeadline.Background = Brushes.Gray;
两者都抛出相同的例外。
答案 0 :(得分:2)
XAML元素是在代码隐藏的InitializeComponent
方法中创建的,因此如果您在该调用之前尝试访问命名元素,那么它将是null
。
答案 1 :(得分:1)
为什么不直接在XAML标记文件中设置属性?如果你不想在XAML文件中做,我建议(我通常这样做):
实施例: this.Loaded + =(发件人,e)=&gt; { tbHeadline.Background = Brushes.Gray; }