2011-06-24 5 views
2

中/使用のXAMLのDataTemplateを編集するために、私が持っている:どのようにXAMLでコード

<DataTemplate x:Key="AgeItemTemplate"> 
    <Border BorderThickness="0,0,0,0" BorderBrush="#6FBDE8"> 
      <TextBlock Margin="2" Text="{Binding Age}" VerticalAlignment="Center" Grid.Column="1" /> 
    </Border> 
</DataTemplate> 

にはどうすればいいのDataTemplateそのコードで使用することができますか?

enter image description here

私は新しいテンプレートを作成することができます知っていて、GridViewの列にリンクされているが、私は、XAMLでそのテンプレートを定義します。コードの中でそのdataTemplateを変更して使用する方法はありますか?

答えて

2

FrameworkElementでfindresourceメソッドを使用する必要があります。

+0

私はxamlを初めて使っています。私はそのテンプレートを内部に置いた:は辞書内にない同じxamlにある。あるいは、は辞書です。私が使用しているコントロールのコントロール辞書を使用するにはどうすればいいですか? –

+0

私はawnserをより良い方法で更新しました:)しかし、すべてのコントロールには、resourcedictionaryというリソースプロパティがあります。 – aL3891

2
<DataTemplate x:Key="PersonItemTemplate" x:Name="someTemplate"> 
      <Border BorderThickness="0,0,0,0" BorderBrush="#6FBDE8"> 
       <Grid Margin="2"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="32" /> 
         <ColumnDefinition /> 
        </Grid.ColumnDefinitions> 
        <Image Source="Images/person.png" Width="24" Height="24" Grid.Column="0" HorizontalAlignment="Center" /> 
        <TextBlock Text="{Binding Name}" VerticalAlignment="Center" Grid.Column="1" /> 
       </Grid> 
      </Border> 
     </DataTemplate> 

背後にあるコード:

template1 = (DataTemplate)FindName("someTemplate"); 

     linkColumn1 = new GridViewColumn 
     { 
      Header = "Test", 
      CellTemplate = template1, 
      //Width = 88, // Comment out to set to auto 

     }; 

     gv.Columns.Add(linkColumn1); 

結果として、私はコードを持つ列を複製することができました:

enter image description here

ですので、これは動的にリストビューを移入すると便利です私は信じているコードにスタイルを作成するのが難しいです。

関連する問題