0

さて、私が持っているのはカスタム ウィンドウ コントロールです。私がやろうとしているのは、Imageコントロールを設定する.Sourceことであり、Window.Iconプロパティに設定しようとしています。

私が持っているのは

public static readonly DependencyProperty IconProperty = DependencyProperty.Register("Icon", typeof (ImageSource), typeof (OctgnChrome));
private Image IconImage { get; set; }

そしてコンストラクタで

IconImage.SetBinding(IconProperty, new Binding("Icon") {UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged});

OctgnChrome は、カスタム ウィンドウの名前です。

問題は、ウィンドウにアイコンがあり、実行時にタスクバーに表示されることですが、Image何も表示されず、空白です。

これを修正する方法、または何が間違っている可能性があるかについてのアイデアはありますか?

また

具体的にアイコンを直接指すように設定すると、次のように機能します

IconImage = new Image{Source = new BitmapImage(new Uri("pack://application:,,,/Octgn;component/Resources/Icon.ico")) };
4

1 に答える 1

0

私が見ることができる3つの問題。

  1. プロパティは、実際には依存関係プロパティに関連付けられていません (独自のゲッター/セッターを使用します)。
  2. プロパティは、設定したバインディング + DP 登録と一致するように名前が付けられていません。つまり、Iconの代わりに名前を付ける必要がありIconImageます。
  3. プロパティの型は、バインドしているものとは異なります ( Imagevs ImageSource)。

IconImage代わりに、次のようにプロパティを実装することをお勧めします。

public ImageSource Icon 
{ 
    get { return this.GetValue(IconProperty) as ImageSource; }
    set { this.SetValue(IconProperty, value); }
}
于 2012-09-09T18:42:42.183 に答える