「MySilverlightControls」と呼ばれる Silverlight コントロール アセンブリがあります。そのアセンブリのいくつかのフォルダーの下に、サード パーティ ベンダーのグリッド列を拡張するクラスがあります。これを「MyImageColumn.cs」と呼びましょう。
という名前のリソース ディクショナリも作成しましたGeneric.xaml
。これはThemes
、アセンブリのフォルダにあります。そのリソース ディクショナリで、 MyImageColumnTemplateという ControlTemplate を定義しました。
<ControlTemplate x:Name="MyImageColumnTemplate" >
<Grid Margin="8,8,4,4" MaxHeight="32" MaxWidth="32">
<Grid.Resources>
<localGrid:StatusColumnImageConverter x:Key="ImageContentConverter"/>
</Grid.Resources>
<Border Margin="5,5,0,0" Background="Black" Opacity="0.15" CornerRadius="5" />
<Border Background="#FF6E6E6E" CornerRadius="4,4,4,4" Padding="4" Margin="0,0,5,5">
<Border Background="White" CornerRadius="2,2,2,2" Padding="3">
<Image Source="{Binding EditValue, Converter={StaticResource ImageContentConverter}}" Stretch="Uniform"/>
</Border>
</Border>
</Grid>
</ControlTemplate>
私の質問は: MyImageColumn から、このコントロール テンプレートをプログラムで参照/ロードして、列のプロパティに割り当てるにはどうすればよいですか? 次のような構文を使用することを期待しています。
ControlTemplate ct = (ControlTemplate)Application.Current.Resources["MyImageColumnTemplate"];
しかし、これは常に null を返します。アセンブリを Reflector に読み込むと、Generic.xaml
ファイルがそこにあり、リソースの名前が で、MySilverlightControls.g.resources
その中のパスが であることがわかりますthemes/generic.xaml
。
このリソース ディクショナリ内の個々の項目に正確にアクセスするにはどうすればよいですか?