2012-01-26 6 views
17

グリッドのすべてのコンテンツをスタイル/テンプレート/コンテナ(どれを選択するかわからない...)に移動したいのですが、スタイルに移動しようとしました。WPFのグリッドスタイルのテンプレートプロパティはありませんか?

しかし、問題は私にエラーが表示されます: "'System.Windows.Controls.Grid'型でスタイルプロパティ 'テンプレート'を見つけることができません。

グリッドのテンプレートプロパティはありませんが、グリッドコンテンツをResourceDirectoryファイルに移動するにはどうすればよいでしょうか?私はそこにコードを移動した後

<Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" > 

     <Border BorderThickness="7" CornerRadius="4"> 
      <Border.BorderBrush> 
       <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
      </Border.BorderBrush> 
      <Grid> 
       <Grid.Background> 
        <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
       </Grid.Background> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30"/> 
        <RowDefinition Height="1*"/> 
       </Grid.RowDefinitions> 
       <Button Name="CustomerButton" Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Customer" Click="CustTabButton_Click" ></Button> 
       <Button Name="BossButton" Grid.Row="1" Width="40" Height="40" Content="Boss" Margin="23,206,23,114" Click="BossTabButton_Click"></Button> 
      </Grid> 
     </Border> 

    </Grid> 

これはresourceDirectoryのコードは次のとおりです:

<Style x:Key="LeftSidePanel" TargetType="{x:Type Grid}"> 
    <Setter Property="Margin" Value="10,15,5,5" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <Border BorderThickness="7" CornerRadius="4"> 
       <Border.BorderBrush> 
        <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
       </Border.BorderBrush> 
       <Grid> 
        <Grid.Background> 
         <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
        </Grid.Background> 
        <Grid.RowDefinitions> 
         <RowDefinition Height="30"/> 
         <RowDefinition Height="1*"/> 
        </Grid.RowDefinitions> 
        <Button Name="CustomerButton" Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Customer" Click="CustTabButton_Click"></Button> 
        <Button Name="BossButton" Grid.Row="1" Width="40" Height="40" Content="Boss" Margin="23,206,23,114" Click="BossTabButton_Click"></Button> 
       </Grid> 
      </Border> 
     </Setter.Value> 
    </Setter> 
</Style> 

私は何を逃した

これは、グリッドのコードですか?

答えて

28

ContentControlには、あなたが探しているものである - このようなリソースディクショナリでテンプレートを宣言

<ContentControl Template="{StaticReosurce MyTemplate}"> 

-

<ControlTemplate> 
    <Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" > 
     <Border BorderThickness="7" CornerRadius="4"> 
      <Border.BorderBrush> 
       <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
      </Border.BorderBrush> 
      <Grid> 
       <Grid.Background> 
        <SolidColorBrush Color="#73B2F5" Opacity="0.5"/> 
       </Grid.Background> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="30"/> 
        <RowDefinition Height="1*"/> 
       </Grid.RowDefinitions> 
       <Button Name="CustomerButton" Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Customer" Click="CustTabButton_Click" ></Button> 
       <Button Name="BossButton" Grid.Row="1" Width="40" Height="40" Content="Boss" Margin="23,206,23,114" Click="BossTabButton_Click"></Button> 
      </Grid> 
     </Border> 
    </Grid> 

</ControlTemplate> 

あなたがContentControlに認識していない場合は、このリンクを辿る - をhttp://msdn.microsoft.com/en-us/library/system.windows.controls.contentcontrol.aspx

+3

これはいいですが、Grid.ColumnとGrid.Rowはここでは何の影響もありません。それらはコンテンツコントロール上に存在する必要があります。 – Asheh

関連する問題