問題タブ [recursive-databinding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - .NET WinForms DataBinding - BindingListIBindableItem の一部の実装は、IList も実装する場合があります。
これは私の別の質問に関連しています。残念ながら、タイトルで問題を要約するのに苦労しています。ご容赦ください。
Folder
インターフェイスを実装し、ITreeItem
から継承するというデータバインド可能なクラスを作成しましたBindingList<ITreeItem>
。私は 2 番目のクラス を持っていますTreeLeaf
。これはツリーのリーフであり、これ以上子アイテムを含めることはできません。
Folder
その目的は、a にデータバインドし、データバインドでフォルダー (および n レベルのサブフォルダー) とリーフのツリーをたどることができるようにすることです。ただし、データ バインディングは の基になる BindingList に下がらずFolder
、その結果、Folder
データ バインド時に子項目がないように見えます。
これまでのところ、データ バインディングはフォルダーを のインスタンスとして処理しているように見えますがITreeItem
、これは正しく、Folder
が のインスタンス以外のものであることを認識していませんITreeItem
。
私の質問は次のとおりです。フォルダがの実装であり、その子孫でもあるデータバインディングにどのように公開できますか。または、データバインディングにフックして、構造をたどるのを助けるにはどうすればよいですか?ITreeItem
BindingList<ITreeItem>
これまでの実装のサンプルを次に示します。
wpf - DataBinding を介して設定された Telerik WPF RibbonBar
私はオブジェクト モデル、UserProfile を持っています。これには多くの ServiceProfile が含まれ、それぞれに多くの CommandProfile が含まれています。このモデルを Telerik WPF OutlookBar にバインドしました。
この XAML コードは、ServiceProfile ごとに OutlookbarItem を作成します。各 OutlookbarItem は、ボタンのリストをコンテンツとして表示します。
単一のタブ (UserProfile を参照) 内で、ServiceProfile ごとに RibbonGroup を作成したいと考えています。各グループ (サービス プロファイル) 内には、CommandProfile ごとに 1 つずつ、多数のリボン ボタンがあります。しかし、私はできません。
このコードにたどり着きました:
これによりリボングループが作成されますが、何も制御できません (グループのタイトル、(バインディングによる) コンテンツの入力)。
何か案が?
ありがとう
knockout.js - それ自体を設定するプロパティをサブスクライブする-ノックアウトjsで-問題を引き起こしますか?
ノックアウト js を使用してさまざまなイベントを処理しています。そのうちの 1 つは、価格入力フィールドに千の区切り記号を追加することです。
だから私は価格フィールドに変更イベントをサブスクライブし、不足している区切り記号を追加して価格フィールドに書き戻す魔法を行います。価格フィールドへの書き戻しは新しい変更イベントをトリガーするため、ループを中断するためのチェックが必要です。これは、値が実際に変更されたかどうかを確認することによって行います。
値を 1 回設定するためだけに同じイベントを 2 回トリガーするのはあまり好きではありません。イベントを再度トリガーせずにフィールドに書き戻す方法はありますか、それとも間違っていますか?
c# - 別の要素の反対側へのXAMLバインディング
私は簡単な演習を開発していて、XAMLのみを使用して別の要素の反対にバインドする方法があるかどうかを知りたいです。例えば。フォームに2つのボタンがあります。おそらく、タイマーの開始と停止です。両方を同時に有効にしたくありません。プログラムが起動したら、停止ボタンを無効にする必要があります。スタートボタンをクリックすると、それを無効にし、停止ボタンを有効にする必要があります。次に、ユーザーが終了するまでその逆を行います。
私はこれを正確に制御するためのより良いコントロールがあることを知っています、そして私はそれがコードで行うのが簡単であることを知っています。XAMLに次のようなNOT演算子があるかどうかを知りたかっただけです。
または次のようなもの:
または次のようなものです:
スタートボタンに直接バインドできることはわかっていますが、一方が有効になっている場合はもう一方も、無効になっている場合も同様です。私がどこから来ているのか見てください。
最初に開始ボタンの状態をチェックし、停止ボタンの状態を反対にする、ある種のXAML検証手法を喜んで受け入れます。または、コードビハインドを必要としない他の同様のハックまたは回避策。
これについて助けてくれてありがとう。
編集:これの要点はコード開発プラットフォームではないことを忘れないでください。背後に1行のコードを記述する必要がある場合は、onclickイベントハンドラーと単純な?:演算子を使用することもできます。したがって、XAMLで直接機能するものだけが必要です。
wpf - WPFのIGroupingにデータバインドするにはどうすればよいですか?
これを機能させるのに苦労していて、使用する必要のあるすべてのテンプレートとどうしようもなく混乱しています。これが状況です。
メニューを動的に作成したい。このコードは、オブジェクトのリストを取得し、リストをグループ化してから、メニューのitemsourceを設定します。
XAMLでのテンプレート作成とデータバインディングについてサポートが必要です。私が探しているのは、一番上のアイテムがグループキーで、次に各キーの子がアイテム自体であるメニューを作成することです。
次に、メニュー項目のクリックでコードを実行できるように、すべての子にクリックハンドラーを設定する必要があります。
これは私が達成するのが難しいことを証明しています。誰かがこれがどのように機能するかについてのXAMLの例を提供できますか?
c# - ツリービューでの再帰的データバインディング
データバインディングを使用して、ツリービューでフォルダ構造を表示したいと考えています。フォルダー クラスには、子のプロパティ リストとプロパティ名だけがあります。
何かが変更されると、それに応じたイベントが発生します。これです:
これはツリービューでルート フォルダーを表示する私の GUI です。
対応する MyWindow.xaml.cs クラスには Folder プロパティがあり、いくつかのコンテンツが追加されます。ボタンがクリックされた場合に新しいフォルダーを追加するためのメソッドもあります。
Gui は、次の単純な Main メソッドによって呼び出されます。
開始すると、ツリービューは問題なく表示され、MyWindow.xaml.cs に追加されたすべての項目が表示されます。
しかし、ボタンをクリックしても、新しいアイテムは表示されません。ツリービューを展開する前にボタンをクリックすると、新しい項目が表示されます...
そのため、ビューは更新されていないようです...
私が間違ったことを誰かが見ることができますか?
javascript - ネストされたカスタム ポリマー要素でのデータ バインディング (再帰的データ バインディング)
polymer's
template repeat
次のような機能を使用して、カスタム サブ要素をローカル ストレージの値にバインドしようとしています。
this.prj.ke.groupVal100
上記のコードでは、データ バインディングを、属性を介しthis.prj.ke.groupVal200
て内部要素に渡そうとしています。これは、value 属性をたとえば に設定する必要があるカスタム要素です。value属性内のデータバインディング文字列 ではなく、保存された初期値0のみが設定されるようです。内部要素でデータバインディングを作成する方法はありますか?aw-innerElement
val
aw-innerElement
paper-input
this.prj.ke.groupVal100
this.prj.ke.groupVal100
template repeat
私の内部要素は次のようになります。
上でわかるようにvalue="{{val}}"
、私の innerElement は と に設定する必要がthis.prj.ke.groupVal100
ありthis.prj.ke.groupVal200
ます。
前もって感謝します!