2

緩い 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' という名前のパブリック型を見つけることができません」という例外が発生します。Loose XAML に自分の名前空間を認識させるにはどうすればよいですか?

HoverOpacityの依存関係プロパティである whichを使用する必要がありCustomControlます。XAML を読み込むために現在使用しているコードは次のとおりです。

var resource = Application.GetResourceStream(new Uri("pack://application:,,,/Assets/HoverStyle.xaml"));

XamlReader.Load(resource.Stream);

ところで、XAML は単純でStyle、コードに挿入するだけでよいことがわかりましたが、これは Hello World XAML です。アニメーションなどを含めて、より複雑になるでしょう。

PS 別の解決策は、Panel から派生したカスタム コントロール (Visual Studio 2008 をクラッシュさせないもの) に XAML ファイルをアタッチする方法、またはトリガー、データ トリガー、エントリ アクション、および終了アクションを簡単にアタッチする方法です。カスタム コントロールに。

4

1 に答える 1

5

くそー、私はそれを理解しました。名前空間でアセンブリ名を指定する必要がありました。そのようです:

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

ありがとう :)

于 2010-11-22T21:46:29.120 に答える