Silverlightアンカータグ機能?
-
28-09-2019 - |
質問
私は、ページを伸ばすスタックパネルに、たくさんのユーザーコントロール(約15、各レコードに1つ)を持っています。これをScrollViewerに入れて、ユーザーがブラウザをスクロールする必要がないようにしますが、代わりにScrollViewerパネルをスクロールできるようにします。
スタックパネルの特定のユーザーコントロールにプログラム的にスクロールする方法を知っています。スクロールビューアーが選択したときにそのユーザーコントロールにスクロールするように、各レコードの上部TOI eblestnでドロップダウンが必要です。
何かご意見は? ScrollViewerにはScrollToverticalOffset()メソッドがあることがわかりますが、Stackpanelのこれらのコントロールのオフセットをどのように計算するかはわかりません。
ありがとう!
解決
次のようなものが機能すると思います。
void ScrollToUserControl(UserControl uc)
{
double amountToScroll = 0;
for (int i = 0; i < stackPanel.Children.Count; i++)
{
if (stackPanel.Children[i] == uc)
break;
amountToScroll += stackPanel.Children[i].ActualHeight;
}
scrollViewer.UpdateLayout();
scrollViewer.ScrollToVerticalOffset(amountToScroll);
}
所属していません StackOverflow