データバインディングでthe Silverlight documentationを理解できません。私は非常に簡単な例を探します。silverlight基本データバインド
XAMLファイルにUserControlを定義するとします。 UserControlのトップレベルの子は、n列とm行のグリッドです。グリッド内には矩形があります。このように:
<UserControl....
<Grid ...>
<Rectangle ...>
矩形は、グリッド内の特定の(行、列)に表示する必要があります。この行/列の組は、さまざまな進展に従って実行時に変更されます。
私はそれにデータバインディングを使うことができると思います。誰かがこれがデータバインディングの合理的な使用であることを確認できますか?私は結合のために配置するかわからない、
<Rectangle x:Name="rect"
Grid.Column = "{Binding ???}"
Grid.Row = "{Binding ???}" />
しかし:
は、私はこのような何かを行うことができると思います。
何がありますか?そして、私がそこに置いたものをどのように検証するのですか?私は好きな文字列を置くことができ、たとえ独立宣言の全文であっても、それはまったく同じように動作します。今日は何もしません。それは動作しません。例外をスローしません。
私はその文字列が何であるべきかわかりません。私はそこに置いたものをデバッグする方法を知らない。それが正当か妥当かばかげているかどうかを知る方法はないようです。
単純な例がすべてです。私はなぜMSDNのドキュメントがとても鈍いのかわかりません。何かを理解できない唯一の人ですか?like this
依存関係プロパティのターゲット値にバインドできます。データ・バインディングのソース・プロパティー値は、依存関係プロパティーである必要はありません。特定の条件が満たされている場合は、CLRオブジェクトのプロパティになります(データバインディングを参照)。ソースオブジェクトは、名前またはオブジェクトグラフの相対位置によって参照される既存の依存関係オブジェクトでもあります。 Silverlightでは、任意の依存関係プロパティのターゲット値にバインドできます。データ・バインディングのソース・プロパティー値は、依存関係プロパティーである必要はありません。特定の条件が満たされている場合は、CLRオブジェクトのプロパティになります(データバインディングを参照)。ソースオブジェクトは、名前またはオブジェクトグラフの相対位置によって参照される既存の依存関係オブジェクトでもあります。
この種のドキュメントは、私が落ちて泣きたいと思うようにします。誰がそのくそを書く?また、docページには、それらの単語が何を意味するかを示す単一の例は含まれていません。聞いて、英語は私の最初の言語です。そして私は自分自身を.NET開発者だと考えます。しかし、私はその段落の何とか今まで何の意味も作れません。それを書いた人または委員会は、取り戻されて撃たれなければならない。 2倍。
MSDNページの外でも、Silverlightのデータバインディングがどのように機能するかを実際に示す例は見つかりませんでした。 MSDNには、
<Binding ...who cares? ....>
のような例がありますが、私はそれが何であるか分かりません。それは私のxamlではないし、私はxamlでそれをしたいとは思わない。私が持っているものは、実際のコントロールとその中の四角形です。データバインディングを介して矩形のGrid.ColumnまたはGrid.Rowを指定することはできますか?
今、私は、矩形は、UserControlの子であるグリッド内に存在すると言った。
<UserControl....
<Grid ...>
<Rectangle ...>
私はコードビハインドファイルユーザーコントロールのための取得、それは次のようになります。
public partial class MyThing : UserControl
{
....
}
私は(ユーザーコントロール内)グリッド内の矩形のTE位置をバインドしたい場合はどう経由UserControlのintプロパティ。それをしてもいいですか? Grid.RowPropertyとGrid.ColumnPropertyをの何かにバインドできますか?? XとYが次のような場合:
これを矩形のgrid.rowとgrid.columnにバインドできますか?どうやって?
誰かが明確な例を挙げてください。
非常に興味深いです。あなたは元に戻ってその事例を自分の状況に合わせることができますか?問題のRectangleのルート親であるUserControl上に存在するプロパティにバインドできますか? ?XAMLで矩形のデータコンテキストを指定するにはどうすればよいですか? XAMLで、RectangleのdatacontextがUserControlであることを指定できますか?それとも暗黙に理解されていますか? – Cheeso
あなたの状況に関する情報を追加しました。 –
あなたの努力に感謝します。あなたは明らかにこの答えをまとめるのに時間をとることになります。そして、INotifyPropertyChangedはどのようにフィットしますか? UserControl内の子コントロールのプロパティをUserControlクラスのC#プロパティにバインドする場合は、DataContext = thisをUserControlに設定する必要があります。 – Cheeso