0
我有一个名为ItemGrid与图像的按钮用户控件,我搬到了图像的控件模板,所以我将能够尺寸是正确的:如何参考图像中的ControlTemplate
<Button x:Name="btnOrder" Click="btnOrder_Click" HorizontalAlignment="Right" Width="48" Height="48" Margin="0,0,0,100">
<Button.Template>
<ControlTemplate>
<Image x:Name="imgOrder" Source="/Images/dark/appbar.food.png" Stretch="None"/>
</ControlTemplate>
</Button.Template>
</Button>
在的MainPage我要正确的图像取决于当前选择他们(深/浅)
private void detecttheme()
{
Visibility v = (Visibility)Resources["PhoneLightThemeVisibility"];
if (v == System.Windows.Visibility.Visible)
{
uri = new Uri("/Images/light/appbar.food.png", UriKind.Relative);
imgSource = new BitmapImage(uri);
ItemGrid.imgOrder.Source = imgSource;
}
else ....
这给了我设置:UserControls.ItemGrid”不包含定义‘imgOrder’后,我搬到imgOrder到控件模板
我试着使用findname,但给人的nullreference例外太多了IMG
//Use FindName because we cannot directly reference the image because it's in a control template
Image img = ItemGrid.FindName("imgOrder") as Image;
img.Source = imgSource;
我也试图把findname在控制的OnApplyTemplate,但似乎并没有得到根本解雇?
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
Image i = this.FindName("imgOrder") as Image;
}
我希望有人有一个答案?
亲切的问候,
迈克
大!日Thnx Blakomen1 – 2012-02-27 15:35:51