gpt4 book ai didi

.net - 为按钮使用 StyleSelector

转载 作者:行者123 更新时间:2023-12-03 14:31:09 26 4
gpt4 key购买 nike

我需要根据数据中的值更改按钮的样式。看起来 StyleSelector 可以完美地工作,但似乎没有办法为按钮设置一个。

有没有办法从数据动态设置按钮样式?甚至可能是纯 XAML 方法?

最佳答案

完成同一件事的更一般的方法:

SomeView.xaml

<UserControl>
<UserControl.Resources>
<converters:BooleanToStyleConverter x:Key="MyButtonStyleConverter"
TrueStyle="{StaticResource AmazingButtonStyle}"
FalseStyle="{StaticResource BoringButtonStyle}"/>
</UserControl.Resources>
<Grid>
<Button Style={Binding IsAmazingButton, Converter={StaticResource MyButtonStyleConverter}}/>
</Grid>
</UserControl>

BooleanToStyleConverter.cs
public class BooleanToStyleConverter : IValueConverter
{
public Style TrueStyle { get; set; }
public Style FalseStyle { get; set; }

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is bool && (bool) value)
{
return TrueStyle;
}
return FalseStyle;
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}

只要您绑定(bind)到 ViewModel 中的 bool 属性以控制样式切换,此转换器就可以使用您选择的任何样式在任何 View 中使用任何类型的控件。不过,很容易使其适应其他绑定(bind)要求。这也适用于 DataTemplate。

关于.net - 为按钮使用 StyleSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5082509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com