110,567
社区成员
发帖
与我相关
我的任务
分享
bool VisibleProperty2
{
set
{
this._visibleProperty2 = value;
this._vilibleProperty = !value;
}
get{}
}
bool VisibleProperty
{
set
{
this._visibleProperty = value;
this._vilibleProperty2 = !value;
}
get{}
}
<!-- 前端~ -->
<UserControl Name="太阳" Visibility="{Binding VisibleProperty}" />
<UserControl Name="月亮" Visibility="{Binding VisibleProperty2}" />
public class VisibleConverter : IValueConverter
{
public object Convert(object value, Type targettype, object obj, System.Globalization.CultureInfo info)
{
if (targettype != typeof(bool)) { return null; }
return !(bool.Parse(value.ToString()));
}
//这个函数暂时没多大用处, override之后这么写就行了.
public object ConvertBack(object value, Type targettype, object obj, System.Globalization.CultureInfo info)
{
throw new NotImplementedException();
//return value;
}
}
<!-- 前端 -->
<!-- Part A: -->
<Window
xmlns:local ="clr-namespace:命名空间" <!-- 这一行是定义Windows.Resoures的local标签. -->
/>
<!-- Part B: -->
<Window.Resources>
<local:VisibleConverter x:Key="visibleConverter"></local:VisibleConverter >
</Window.Resources>
<!-- Part C: -->
<UserControl Name="月亮" Visibility="{Bind Path=VisibleProperty, Converter={Static Resource visibleConverter}}" />