私はビジネス用のツリービューコンポーネントをメニューに使用しています。私の目標は、サブカテゴリのないトップレベルのメニューだけを取り出すことです。サブカテゴリは、ユーザーアイコンのクリック(+/- アイコン)またはメニュー項目のクリックでのみ表示されます。クリックしてTreeViewにサブカテゴリをロードするDotvvm
基本的にこのメニューオブジェクトにバインドされた「a」やアイコンをクリックすると、自分のサブカテゴリを取得するなどのリクエストをサーバーに送信したいと考えています。私は1つの要求ですべてを取得したくない。
私は2件のクリックハンドラがビューにある気づいたよう。
1)Changed
プロパティを使用します。このプロパティを使用してクリックイベントを処理すると、正しいオブジェクトが私のCategorySelectedList
に正常に取得されますが、テキストラベルに直接クリックが登録されます。アイコンのためにもう働かないし、カテゴリメニューも展開されません。
2)Events.Click
プロパティを使用します。このプロパティを使用してクリックイベントを処理すると、私はCategorySelectedList
プロパティに正しいオブジェクトを取得することもありませんが、この場合はカテゴリメニューが展開されます。
オブジェクトIDを私の視点からSetActiveMenuNode
メソッドに送信することはできませんので、私はCategorySelectedList
から直接取得する必要がありますが、各aproachにはそれぞれ独自の問題があります。
解決方法はありますか?
のModelView
public List<CategoryListDTO> AdminMenuList { get; set; } = new List<CategoryListDTO>();
public List<CategoryListDTO> AdminMenuSelectedList { get; set; } = new List<CategoryListDTO>();
public void SetActiveMenuNode()
{
var selected = AdminMenuSelectedList.FirstOrDefault();
}
//načítání podkategorií
public StaticCommandBindingExpression LoadChildren { get; set; } = new StaticCommandBindingExpression(new CompiledBindingExpression(//something here));
私の見解は
<dot:Content ContentPlaceHolderID="MainContent">
<section class="content">
<bp:TreeView DataSource="{value: AdminMenuList}"
SelectedValues="{value: AdminMenuSelectedList}"
ItemKeyBinding="{value: Id}"
ItemHasChildrenBinding="{value: HasCategories}"
ItemChildrenBinding="{value: AssignedToCategory}"
LoadChildren="{staticCommand: _parent.MyMethod()}"
Changed="{command: SetActiveMenuNode()}"
>
<p>{{value: Name}}</p>
</bp:TreeView>
</section>
申し訳ありませんが、お返事ありがとうございます。 – Martin
私はあなたに良い知らせがあります。この機能は、次期ベータ版で利用可能になります。 –
ありがとうございます。次のベータ版をリリースする必要がありますか? – Martin