3

WinRT が、組み込みの XAML リソース ディクショナリを使用して C# (または VB だと思います) を使用してクラス ライブラリ (DLL) を作成することを本当にサポートしているかどうかを知っている人はいますか。 " をメモリ内文字列に変換しますか?

これは基本的にサポートされているようですが、その DLL への参照を追加すると、ペイロードが見つからないというエラーが常に発生するため、動作させることができないようです。これで、XAML ファイルが実際には DLL にコンパイルされず、appx の一部として展開されるだけであることがわかりました。また、Visual Studio には明らかに問題がありますが、ファイルを別の場所に手動でコピーして、少なくともその問題を解消することができます。(これは、私が知る限り、リリース前の既知の問題と見なされていましたが、リリース バージョンでもそのままでは動作しないようです)。さらに、参照を追加できたとしても、まだリソース ディクショナリにアクセスできないようです。他のリソースにマージする (ms-appx 構文を使用) など、さまざまな方法で試しました。また、アクセスできるかどうかを確認するために、辞書をファイルから文字列にロードしようとしました。サイコロはないようです。

ああ、もし私がそのような DLL を他の誰かに渡したいとしたら、それをどのように展開すればよいでしょうか? 推奨されるアプローチはありますか?

4

1 に答える 1

4

Tim の記事は、カスタム コントロールの作成に関する最良のガイダンスであり、リソース ディクショナリにも役立つはずです。基本的に、NuGet パッケージを構築するオプションがあります (これらは実際にパブリックに共有する必要はありません。プライベート NuGet パッケージを簡単に共有/追加できます)、または Visual Studio にインストールしてすべてのアプリで利用できる拡張機能を構築します。

もちろん、パッケージを手動で共有することもできます。アプリケーションが、次の場所にある MyLibrary.dll を参照しているとします。

MySolution/MyApplication/Dependencies/MyLibrary.dll

また、次のように.priファイルを同じフォルダーに配置する必要があります。

MySolution/MyApplication/Dependencies/MyLibrary.pri

次に、ライブラリプロジェクトと同じサブフォルダー階層にあるライブラリーのような名前のサブフォルダーにリソースを配置します。

MySolution/MyApplication/Dependencies/MyLibrary/Themes/Generic.xaml
MySolution/MyApplication/Dependencies/MyLibrary/Resources/Brushes.xaml
MySolution/MyApplication/Dependencies/MyLibrary/Resources/TextBlockStyles.xaml
MySolution/MyApplication/Dependencies/MyLibrary/Resources/ButtonStyles.xaml
...

これを行うと、Visual Studio はこれらのファイルを自動的に取得し、アプリのビルド時に appx パッケージに配置します。

于 2012-08-23T02:56:46.383 に答える