私はWPFでの経験を持つプログラマであり、UWPでプログラムを開始しています。 私のXAMLコードのほとんどは、私が克服できたいくつかの例外と互換性があります。UWPクラスライブラリでXAML静的リソースとデザインタイムデータを使用する方法
最初はすべてをスタンドアロンアプリケーションで試しましたが、今度は再利用可能なユーザーコントロールを作成する必要があります。そのために、私がプログラミングしたユーザーコントロールのコードをコピーしたUWPクラスライブラリを作成しました。アプリケーションで正常に動作しますが、ライブラリでNETクラスのインスタンスがリソース辞書や設計時データ拡張で作成されていないようです。
これは、アプリケーションでは動作しますが、ライブラリでは動作しないUser Control XAMLコードです(これは "d:"のデザインタイムデータを使用するバージョンです)。問題はCanvas.LeftとCanvas.Topのバインディングソース値を取得しないでください(画像はCanvas 0,0の位置に表示されます)。
<UserControl x:Class="NameSpace.XXXX" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:NameSpace" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="355" d:DesignWidth="430">
<Canvas Height="355" Width="430" d:DataContext="{d:DesignInstance Type=local:LocalClass, IsDesignTimeCreatable=True}">
<Image x:Name="TI11" Source="Assets/Images/Image11.png" Canvas.Left="{Binding T11L}" Canvas.Top="{Binding T11T}" RenderTransformOrigin="0.5,0.5" Opacity="0.65" Height="071.053" Width="064.433"/>
......
</Canvas>
</UserControl>
私は同様の質問で検索しました、そして独立したUWP制御ライブラリが作成された記事を見てきましたが、この問題への参照を発見していません。
静的リソースのNETクラスとデザインタイムデータをUWPライブラリで使用できるように特別な処理が必要な場合は、誰も知っていますか?
でこの問題を報告している「が、ライブラリには、NETクラスのインスタンスは、リソースディクショナリまたは設計時のデータの拡張子で作成されていないようです。」問題をより明確かつ詳細に記述してください。そして、 "ユーザーコントロール"で相対的なコードを表示してください。 –
私はインスタンスが作成されていないと思うかもしれませんが、別の理由でライブラリ内でバインディングが機能しないことがあります。しばらくの間、私は失敗したコードを書くつもりです(質問したところ、UWPについてわかりませんでしたが、コードを書く必要はありませんでした) – SERWare