2011-12-05 3 views
1

埋め込みウィンドウ用のSilverlightのタブコントロールに似たコントロールをスタイル設定しようとしています。Silverlight用のボタンスタイリング

私はボタンで始まり、タブアイテムのようにスタイリングしています。

「アクティブな」タブの概念が必要で、アクティブなタブアイテムの色を変更したり、アクティブでないタブの色を変更したりすることが必要です。私は、「アクティブ」のカスタムビジュアル状態を追加することも可能かもしれないと思っていましたが、私はシルバーライトの完全な初心者です。

<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" xmlns:local="clr-namespace:WindowsEmbeddedSilverlightApplication1" 
x:Class="WindowsEmbeddedSilverlightApplication1.MainPage" 
Width="800" Height="480"> 

<UserControl.Resources> 
    <Style x:Key="TabItemFirst" TargetType="Button"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Border Background="#FFC5EEFF" CornerRadius="5,5,0,0" BorderBrush="Black" BorderThickness="1">       
         <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> 
        </Border> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
    <Style x:Key="TabItemNext" TargetType="Button"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="Button"> 
        <Border Background="#C8E9F7" Margin="-1,0,0,0" CornerRadius="5,5,0,0" BorderBrush="Black" BorderThickness="1"> 
         <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> 
        </Border>      
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</UserControl.Resources> 

<Grid x:Name="LayoutRoot" Background="White"> 

    <StackPanel Orientation="Horizontal"> 
     <Button Canvas.ZIndex="3" Width="75" Height="25" Style="{StaticResource TabItemFirst}" Content="Left"/> 
     <Button Canvas.ZIndex="2" Width="75" Height="25" Style="{StaticResource TabItemNext}" Content="Center"/> 
     <Button Canvas.ZIndex="1" Width="75" Height="25" Style="{StaticResource TabItemNext}" Content="Right"/> 
    </StackPanel> 

</Grid> 
</UserControl> 

この機能を実装する方法についてのあらゆる指針は非常に高く評価されます。

答えて

0
+0

こんにちは、感謝のためのトグルボタンを使用したい場合があります。 ToggleButtonスタイルxamlを見ると便利でしたが、別のコントロールがクリックされたときにコントロールが状態を保持することはできません。すなわち、ページ上の無関係のコントロール。私は、新しい状態を追加し、各タブ項目に関連付けられたこの値を使用して、異なる外観を持つべきかどうかを知る必要があると考えています。 – antinutrino