2009-09-30 5 views
4

스타일 및 컨트롤 템플릿을 사용하기 시작했으며 다음 스타일을 만들어서 단추를 표 형태의 텍스트로 표시했습니다. 밑줄을 그릴 수있는 스타일에 글꼴 스타일을 포함하고 싶지만 알아 내지 못했습니다.Silverlight ContentPresenter에 텍스트 서식을 포함시킬 수 있습니까?

<Style x:Key="TextButtonStyle" TargetType="Button"> 
    <Setter Property="Background" Value="LightGray" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ContentControl"> 
       <ContentPresenter Content="{TemplateBinding Content}" /> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

<Style x:Key="TextButtonInGridStyle" TargetType="Button" BasedOn="{StaticResource TextButtonStyle}"> 
    <Setter Property="VerticalAlignment" Value="Center" /> 
    <Setter Property="Margin" Value="4,4,4,4" /> 
</Style> 

밑줄을 그릴 수있는 스타일에 글꼴 스타일을 포함하고 싶지만 알아 내지 못했습니다. TextBlock을 ControlTemplate에 임베드하거나 Button 요소 선언에 TextBlock을 중첩하지 않고이 작업을 수행 할 수있는 방법이 있습니까?

감사

답변

0

당신은 확실히 할 수있는, 아니면 내가 문제를 이해하지 않지만,이 예제의 경우 당신이있어 무엇 후 참조 :

<UserControl 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" 
x:Class="SilverlightApplication1.MainPage" 
Width="640" Height="480"> 
<UserControl.Resources> 
    <Style x:Key="TextButtonStyle" TargetType="Button"> 
     <Setter Property="Background" Value="LightGray" /> 
     <Setter Property="Template"> 
      <Setter.Value> 
        <ControlTemplate TargetType="ContentControl"> 
          <ContentPresenter Content="{TemplateBinding Content}" /> 
        </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
    <Style x:Key="TextButtonInGridStyle" TargetType="Button" BasedOn="{StaticResource TextButtonStyle}"> 
     <Setter Property="VerticalAlignment" Value="Center" /> 
     <Setter Property="Margin" Value="4,4,4,4" /> 
     <Setter Property="FontFamily" Value="Arial"/> 
     <Setter Property="FontWeight" Value="Bold"/> 
     <Setter Property="Foreground" Value="Red"/> 
    </Style> 
</UserControl.Resources> 

<StackPanel x:Name="LayoutRoot" Background="White"> 
    <Button Content="Button" Style="{StaticResource TextButtonStyle}"/> 
    <Button HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="75" Style="{StaticResource TextButtonInGridStyle}" Margin="4,0,0,0"> 
     Button 
    </Button> 
    <Button HorizontalAlignment="Left" VerticalAlignment="Stretch" Width="75" Style="{StaticResource TextButtonInGridStyle}" Margin="4,0,0,0"> 
     <Rectangle Fill="#FFF4F4F5" Height="10" Stroke="Black"/> 
    </Button> 
</StackPanel> 

당신은 것을 볼 수 있습니다 Button에 TextBlock이 없으며 내용이 사각형 인 경우 텍스트 대신 멋지게 표시됩니다.

관련 문제