テンプレート内にGridViewを持つWinRT/UWPでテンプレートコントロールを作成しました。グリッドビューのアイテムのDataTemplate
を格納するItemTemplate
依存プロパティを作成しました。コントロールが他のページで再利用されたときに、各実装でアイテムテンプレートを変更できるようになりました。Generic.xamlからのテンプレートコントロールのデフォルトスタイルの適用
しかし、現在のコードでは、コントロールが正しく読み込まれますが、スタイリングは実装されていません。
ここに私のGeneric.xamlコードです:
<Style TargetType="ctrl:CustomGridView">
<Setter Property="ItemTemplate">
<Setter.Value>
<DataTemplate>
<Grid>
<Grid Background="Red">
<TextBlock Text="{Binding Name, Mode=OneWay}" Foreground="White" TextAlignment="Center"/>
</Grid>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ctrl:CustomGridView">
<Grid>
<ContentPresenter x:Name="templateProxy" Width="{TemplateBinding ItemWidth}" Height="{TemplateBinding ItemHeight}" ContentTemplate="{TemplateBinding ItemTemplate}" Visibility="Collapsed" />
<GridView x:Name="gridView" ItemsSource="{TemplateBinding ItemsSource}"
SelectionMode="None" IsItemClickEnabled="True" IsSwipeEnabled="False" IsTabStop="False">
<GridView.ItemTemplate>
<DataTemplate>
<ContentPresenter Width="{Binding Width, ElementName=templateProxy}" Height="{Binding Height, ElementName=templateProxy}" ContentTemplate="{TemplateBinding ItemTemplate}" />
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
目標はデフォルトのものであることをGeneric.xamlでItemTemplate
セットを作成し、コントロールのさまざまな実装でそれを変更することができるようにすることですが。ここで
はItemTemplate
プロパティがCustomGridView.csファイルで定義されている方法は次のとおりです。
public static readonly DependencyProperty ItemTemplateProperty =
DependencyProperty.Register("ItemTemplate", typeof(DataTemplate), typeof(PatientGridView), new PropertyMetadata(null));
public DataTemplate ItemTemplate
{
get { return (DataTemplate)GetValue(ItemTemplateProperty); }
set { SetValue(ItemTemplateProperty, value); }
}
は、私はデフォルトのItemTemplateにをロードするためにCustomGridView.csに何かすべきことはありますか?私は何か不足していますか?
必要に応じて追加コードを提供します。
ありがとうございました!
を提出。これはUWP(Windows 10)アプリケーションです。 –