또 다른 옵션은 Converter
가 Button
이어야 Style
를 결정하기 위해 사용하는 것입니다.
변환기 :
public class ButtonStyleConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, string language)
{
var mode = (int)value;
return mode == 1 ? Application.Current.Resources["ButtonStyle1"] as Style : Application.Current.Resources["ButtonStyle2"] as Style;
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
//Do nothing
}
}
사용법 :
<Button Content="Hello" Style="{Binding Button1Mode, Converter={StaticResource ButtonStyleConverter}}"/>
<Button Content="World" Style="{Binding Button2Mode, Converter={StaticResource ButtonStyleConverter}}" />
내가 이론적으로 버튼이 런타임에있는 "모드"를 수정할 수있는 것입니다 내 뷰 모델에 속성에 Binding
를 사용 데이터에 따라 다릅니다. 이것에 더 많은 코드가 필요한 경우 Github에 예제를 게시하게되어 기쁩니다.
나는 그것이하기 쉽다고 생각한다. – lindexi
템플릿과 스타일 모두 사용 –