Microsoft-ui-xaml: 質問:Xamlデザインタイム属性と{x:バインド}

作成日 2020年02月06日  ·  3コメント  ·  ソース: microsoft/microsoft-ui-xaml

こんにちは、

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-開発者コミュニティで同様のチケットを作成しましたが、フィードバックを受け取りませんでした。

ありがとう、
コスミン

area-Tooling feature proposal question team-Markup

最も参考になるコメント

確かに@mrlaceyの記事は、私が探しているものとよく似ています。

やってみます。 ありがとう!

全てのコメント3件

古いDesignTimeデータサンプル(ここの記事を現在のUWPに移植しようとしましたが、いくつかの方法はまだ機能しますが、すぐにもっと多くのギャップがあることに気付きました。 これのどこかにスレッドがあると思ったのですが、今どこにいるのか思い出せません...

@mrlaceyがこのトピックについてブログに書いていることも知っています

確かに@mrlaceyの記事は、私が探しているものとよく似ています。

やってみます。 ありがとう!

x:Bindを使用する推奨アプローチはいずれも機能しなかったため、次のコードを作成することが、設計時インスタンスとx:Bindマークアップ拡張機能の両方をサポートする唯一の方法のようです。 ただし、かなり冗長に見えます。

その理由は、XAMLページをVisualStudioまたはBlendfor Visual Studioで開いたときに、DataContext値を割り当てる命令型コードが実行されないためです(実際、コードビハインドは実行されません)。 XAMLツールはもちろん、マークアップを解析し、マークアップで宣言されているオブジェクトをインスタンス化しますが、実際にはページのタイプ自体をインスタンス化しません。 その結果、コントロールや[データバインディングの作成]ダイアログにデータが表示されなくなり、ページのスタイル設定とレイアウトがより困難になります—デザインサーフェスのサンプルデータ、および@ https:/のプロトタイピング

このページは役に立ちましたか?
0 / 5 - 0 評価