TabControlリージョンがあり、新しいタブを追加してRequestNavigateメソッドをスローします。すべてが正常に機能しています。ただし、問題は、新しいタブが右側の最後の位置に配置されることです。しかし、アクティブなタブのすぐ隣にそれらを追加する必要があります。したがって、開いているタブが10個あるが、アクティブなのが最初のタブである場合、新しく開いたタブを2番目の場所に追加し、他のタブを右に移動します。ありがとう
質問する
1684 次
1 に答える
2
さて、Samのソリューションのおかげでhttps://stackoverflow.com/a/4285764/1027262領域内のビューの並べ替えを担当するIRegionクラスのSortComparisonプロパティがあることがわかりました。
したがって、私のViewクラスはISortableViewインターフェイスを実装します。
public int SortIndex {get;set;}
このSortIndexは、リージョン内のビューを並べ替えるために使用されます。SortComparisonメソッドは次のようになります。
private static int CompareViews(object x, object y)
{
return ((ISortableView)x).SortIndex.CompareTo(((ISortableView)y).SortIndex);
}
this._regionManager.Regions["MyRegion"].SortComparison = CompareViews;
次に、ビューインデックスの管理を担当するサービスクラスを作成する必要がありました。INavigationAwareインターフェースのthrowOnNavigatedFromメソッドを送信している親ビューのインデックス。ただし、OnNavigatedToメソッドでSortIndexを設定することに注意してください。このメソッドは、ビューをリージョンソートした後に呼び出されます。
于 2012-09-10T19:44:38.973 に答える