自从2天出现愚蠢的问题后,我真的生气了。我已经在这里问了这个问题,但似乎我的问题丢失了,没人会再看到它。所以这是我的简单问题:
我有一个包含CustomControl(一个库项目)的项目,这个自定义控件代码继承自Window控件。所以它有一个从它继承的Icon属性。在用于创建控件设计的XAML代码中,在我的ResourceDictionary中的某处,我想将一个图像绑定到Icon属性。
...
<Image Grid.Column="0" Margin="3" Width="27" Height="27" Source="{Binding Icon}" />
...
然后我有第二个项目(一个WPF应用程序项目)引用我的第一个项目并使用这个自定义控件窗口,我设置了Icon属性。图标属性设置正确,因为我可以看到任务栏中的图标,但图像没有出现,好像我的绑定不起作用。
<SILU:FlatForm x:Class="SILU_MovieManager.WinMain"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:SILU="clr-namespace:SILU_Controls;assembly=SILU_Controls"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="SILU Movie Manager" Height="425" Width="682" Loaded="FlatForm_Loaded" Icon="/SILU_MovieManager;component/Resources/Images/Film.ico">
<Grid>
</Grid>
</SILU:FlatForm>
我真的不知道如何绑定这个,这里有一个解决方案我在这里,但对我来说不起作用。 (Solution)
答案 0 :(得分:0)
我没有尝试过这个解决方案,这是通过代码和图标
完成的<Window x:Class="WPFWindowAPP.IconLoader"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WPFWindowAPP" Height="164" Width="405"
>
<Canvas>
<Button Name="btn" Click="btnClick" Canvas.Top="40" Canvas.Right="90" Width="75">Load Icon</Button>
<Image Name="icoDisplay" Canvas.Left="10" Canvas.Top="80" Stretch="None" />
</Canvas>
void btnClick(object sender, RoutedEventArgs e) {
IconImage ico = IconImage.ExtractAssociatedIcon(filePath.Text);
位图bmp = ico.ToBitmap();
MemoryStream strm = new MemoryStream();
bmp.Save(strm,System.Drawing.Imaging.ImageFormat.Png);
BitmapImage bmpImage = new BitmapImage();
bmpImage.BeginInit();
strm.Seek(0,SeekOrigin.Begin);
bmpImage.StreamSource = strm;
bmpImage.EndInit();
icoDisplay.Source = bmpImage;
}