Silverlight에서 토글 단추 컨트롤을 사용하고 있습니다. Checked 및 Unchecked 상태에서 다른 글꼴 모음을 사용하는 방법을 알려주십시오. Expression Blend를 사용하여 Toggle 버튼 템플릿을 편집 해 보았지만 작동하지 못했습니다. 도와주세요.다른 단추 상태에 대한 다른 글꼴
감사합니다, 오메르 자 베드
Silverlight에서 토글 단추 컨트롤을 사용하고 있습니다. Checked 및 Unchecked 상태에서 다른 글꼴 모음을 사용하는 방법을 알려주십시오. Expression Blend를 사용하여 Toggle 버튼 템플릿을 편집 해 보았지만 작동하지 못했습니다. 도와주세요.다른 단추 상태에 대한 다른 글꼴
감사합니다, 오메르 자 베드
당신은 변환기를 사용하여 버튼의 IsChecked 상태로 버튼 내부의 TextBlock의의의 font 속성을 바인딩 할 수 있습니다.
<ToggleButton
x:Name="tb">
<ToggleButton.Resources>
<converters:BooleanToFontFamily
x:Key="BooleanToFontFamily" />
</ToggleButton.Resources>
<TextBlock
FontFamily="{Binding IsChecked, ElementName='tb', Converter={StaticResource BooleanToFontFamily}, ConverterParameter='Segoe WP Semibold,Segoe WP SemiLight'}"
Text="Some Text" />
</ToggleButton>
그리고 C#에서 컨버터는 다음과 같이 rouguhly 보일 것이다
public class BooleanToFontFamily : IValueConverter
{
public object Convert(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
var b = (bool)value;
var families = ((string)parameter).Split(',');
return new FontFamily(b ? families[1] : families[0]);
}
public object ConvertBack(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
throw new NotSupportedException();
}
}
개인적으로 비록 - 아마 뭔가 VisualStateManager가로의 전환을 처리와 함께 할 - 나는 일을 해당 템플릿을 얻으려고 했을까 "확인 됨"상태.
쉬운 방법은 내장 된 behaivor ChangePropertyAction
을 사용하는 것입니다. Expression Blend가 설치되어 있다고 언급 했으므로 Asset Panel로 가서 'ChangePropertyAction'을 입력 한 다음이 동작을 ToggleButton
위에 드래그 앤 드롭하십시오.
어떤 이벤트가 발생하면 을 지정해야합니다. 변경하려면을 변경하십시오. 이 동작을 사용하는 방법에 대한 자세한 내용은 this post을 참조하십시오.
일부 예제 코드
<ToggleButton Content="ToggleButton" FontFamily="Arial" HorizontalAlignment="Center" VerticalAlignment="Center">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:ChangePropertyAction PropertyName="FontFamily">
<ei:ChangePropertyAction.Value>
<FontFamily>Arial Black</FontFamily>
</ei:ChangePropertyAction.Value>
</ei:ChangePropertyAction>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<ei:ChangePropertyAction PropertyName="FontFamily">
<ei:ChangePropertyAction.Value>
<FontFamily>Arial</FontFamily>
</ei:ChangePropertyAction.Value>
</ei:ChangePropertyAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</ToggleButton>