質問

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」の質問に答えることができる人に回答クレジットを与えます。この全体の状況は少し濡れているように見えるので、私は代替案に本当に興味があります。

ありがとう :)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top