1

XAMLで次のように宣言されたリソースがあります。

<Window x:Class="Test.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Test"
    Title="MainWindow" Height="350" Width="525" Name="form1">
  <Window.Resources>
    <ObjectDataProvider x:Key="SingleRole" ObjectType="{x:Type local:SingleRole}" />
  </Window.Resources>
...
</Window>

コードでそのオブジェクトへの参照を取得しようとしています。

    private void button1_Click_1(object sender, RoutedEventArgs e)
    {
        SingleRole role = ????;
    }

どうやってやるの?FindResourceとthis.Resources["SingleRole"]を試しましたが、機能しないようです。

4

2 に答える 2

1

this.Resourcesキャストで使用できるはずです:

var provider = (ObjectDataProvider)this.Resources["SingleRole"];
SingleRole role = provider.ObjectInstance as SingleRole;
if (role != null)
{
   // Use it here, as it was found properly
}
于 2012-10-24T16:55:24.053 に答える
0

これはうまくいくはずです-

var a = this.FindResource("SingleRole");
于 2012-10-24T16:55:53.773 に答える