【发布时间】:2011-08-31 23:04:35
【问题描述】:
我有以下代码:
public event EventHandler LoadingControlVisibilityChanged;
public Visibility LoadingControlVisibility
{
get { return _LoadingControlVisibility; }
set
{
_LoadingControlVisibility = value;
if (LoadingControlVisibilityChanged != null)
LoadingControlVisibilityChanged(this, EventArgs.Empty);
}
}
<Label x:Name="loading" Visibility="{Binding Path=LoadingControlVisibility, Mode=OneWay}" Content="No Devices Detected!" FontFamily="{DynamicResource AppFont}" HorizontalAlignment="Left" Margin="110,0,0,0" FontSize="21.333" />
第一次绑定工作,但在我更改 LoadingControlVisibility 后没有任何反应,调试后我注意到 event = null。请帮我解决这个问题。
我的文本属性没有问题:
public event EventHandler UUidChanged;
public string UUid
{
get { return _uuid; }
set
{
_uuid = value;
if (UUidChanged != null) UUidChanged(this, EventArgs.Empty);
}
}
<TextBox Text="{Binding Path=UUid, Mode=OneWay}" Margin="122.48,11.26,9,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="{DynamicResource MediumFontSize}" FontFamily="{DynamicResource AppFont}" Template="{DynamicResource TxtBoxTemplate}" Height="25" >
为什么不一样?
【问题讨论】:
-
我不确定我是否完全理解您在这里的目的。您正在绑定到一个名为 NoDevicesVisibility 的属性,但您并未在任何地方操作该属性。
-
另外,您的属性称为 LoadingControlVisibility,但您的 XAML 绑定到 Visibility ... Visibility="{Binding Path=NoDevicesVisibility, Mode=OneWay}"
-
抱歉复制了错误的代码。固定!
标签: wpf events binding visibility