XAMLコンテンツをゆるいカスタムコントロールを認識させる方法
-
27-09-2019 - |
質問
XAMLファイルが緩んでいます...
<Style
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace"
TargetType="{x:Type local:CustomControl}">
<Setter Property="HoverOpacity" Value="1.0"/>
</Style>
...実行時にロードしたいこと。 「型参照は「CustomControl」という名前のパブリックタイプが見つかりません」と述べている例外を取得すると、どうすればXamlを自分の名前空間を認識させるにはどうすればよいですか?
使用する必要があります HoverOpacity
これはの依存関係です CustomControl
. 。 XAMLをロードするために現在使用しているコードは次のとおりです。
var resource = Application.GetResourceStream(new Uri("pack://application:,,,/Assets/HoverStyle.xaml"));
XamlReader.Load(resource.Stream);
ところで、私はXAMLがシンプルであり、ただ挿入できることを理解しています Style
コードでは、これはHello World Xamlです。アニメーションなどを含む、はるかに複雑になるでしょう。
PS別のソリューションは、XAMLファイルをパネルから派生したカスタムコントロール(Visual Studio 2008をクラッシュさせないもの)に接続するか、トリガー、データトリガー、エントリアクション、および終了アクションを簡単に接続する方法のいずれかです。カスタムコントロールに。
解決
おやおや、私はそれを理解した。名前空間でアセンブリ名を指定する必要がありました。そのようです:
<Style
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyNamespace;assembly=MyAssembly"
TargetType="{x:Type local:CustomControl}">
<Setter Property="HoverOpacity" Value="1.0"/>
</Style>
次の2日以内に私の「PS」の質問に答えることができる人に回答クレジットを与えます。この全体の状況は少し濡れているように見えるので、私は代替案に本当に興味があります。
ありがとう :)
所属していません StackOverflow