我使用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 :(得分: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);
}