WPF CustomControl和图像绑定

时间:2010-04-12 08:35:23

标签: wpf image xaml binding custom-controls

自从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

1 个答案:

答案 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; }