2017-01-06 13 views
0

hereのキーボードコントロールを使用しています。実行時のリソースを交換してください

リソースは、XAMLで定義されています。

<Grid.Resources> 
      <ResourceDictionary x:Name="resdictionary"> 
       <!-- Img sources--> 
       <ImageSource x:Key="EngRus">/TermControls;component/Images/Eng-Rus.png</ImageSource> 
       <ImageSource x:Key="gEngRus">/TermControls;component/Images/gEng-Rus.png</ImageSource> 
... 

私は、実行時にロードされた画像に置き換えることができますどのように?私はfindresourcesで成功しなかった。

+0

あなたは2 findresources、アプリケーションを持っていますあなたが使用しているものがどれであるかを確認してください – Johnny

答えて

1

あなたは、そのキーでのResourceDictionaryでリソースにアクセスすることができます。

public OnScreenKeyboard() 
{ 
    this.InitializeComponent(); 
    System.Windows.Media.ImageSource EngRus = MainGrid.Resources["EngRus"] as System.Windows.Media.ImageSource; 
} 

を...そして同じキーで別のリソースに置き換えます

public OnScreenKeyboard() 
{ 
    this.InitializeComponent(); 
    //remove the old resource 
    MainGrid.Resources.Remove("EngRus"); 

    //create a new BitmapImage 
    System.Windows.Media.Imaging.BitmapImage image = new System.Windows.Media.Imaging.BitmapImage(new System.Uri("/TermControls;component/Images/shift.png", System.UriKind.RelativeOrAbsolute)); 
    MainGrid.Resources.Add("EngRus", image); 
} 
関連する問題