こんにちは、
x:Bindを使用する方法と、同時に設計時のデータを取得する方法を理解するために、オンラインで非常に広範囲に検索しました。提案された解決策は、FallbackValueの使用を含むようです(例:https://stackoverflow.com/questions/31766366 / uwp-xbind-and-design-time-dataまたはhttps://fast417.blogspot.com/2016/06/uwp-design-preview-with-xbind.htmlに従って何らかの「デザイン」ViewModelを作成する)
開発作業が少なくて済み、侵襲性も低い(たとえば、ViewModelsプロダクションコードがデザインタイムデータで汚染されないようにする)より良いアプローチは、たとえばAndroidがツール属性を介して許可するものと同様に、より多くのデザインタイム属性(テキストなど)をサポートすることです。 (https://developer.android.com/studio/write/tool-attributes)
PS-開発者コミュニティで同様のチケットを作成しましたが、フィードバックを受け取りませんでした。
ありがとう、
コスミン
確かに@mrlaceyの記事は、私が探しているものとよく似ています。
やってみます。 ありがとう!
x:Bind
を使用する推奨アプローチはいずれも機能しなかったため、次のコードを作成することが、設計時インスタンスとx:Bind
マークアップ拡張機能の両方をサポートする唯一の方法のようです。 ただし、かなり冗長に見えます。
その理由は、XAMLページをVisualStudioまたはBlendfor Visual Studioで開いたときに、DataContext値を割り当てる命令型コードが実行されないためです(実際、コードビハインドは実行されません)。 XAMLツールはもちろん、マークアップを解析し、マークアップで宣言されているオブジェクトをインスタンス化しますが、実際にはページのタイプ自体をインスタンス化しません。 その結果、コントロールや[データバインディングの作成]ダイアログにデータが表示されなくなり、ページのスタイル設定とレイアウトがより困難になります—デザインサーフェスのサンプルデータ、および@ https:/のプロトタイピング
最も参考になるコメント
確かに@mrlaceyの記事は、私が探しているものとよく似ています。
やってみます。 ありがとう!