Silverlightコントロール全般

ScrollViewer内のコントロールの位置を設定する

 ScrollViewerコントロールに HorizontalContentAlignmentとVerticalContentAlignmentプロパティが提供していますが、ScrollViewerコントロールの中にCanvasコントロールを入れる場合、HorizontalContentAlignmentとVerticalContentAlignmentプロパティを設定しても、実際に反映しません

 対策:
 この時、代わりにCanvasコントロールのHorizontalAlignmentとVerticalAlignmentプロパティを設定してください。

スクロール際のイベント

共通的なイベント発生させるメソッドのソースコード:

public static void RegisterForNotification(
	//プロパティ名
	string property, 
	//対象コントロール名
	FrameworkElement frameworkElement, 
	//コールバックメソッド
	PropertyChangedCallback OnCallBack
)
{
   Binding binding = new Binding(property) 
   {
       Source = frameworkElement 
   };

   var dependencyproperty = System.Windows.DependencyProperty.RegisterAttached("ListenAttached" + property,
                            typeof(object), typeof(UserControl), new System.Windows.PropertyMetadata(OnCallBack));

   frameworkElement.SetBinding(dependencyproperty, binding);
} 

垂直スクロールバーのスクロールイベントの場合、propertyパラメータを「VerticalOffset」に設定します、水平は「HorizontalOffset」に設定します。

public void OnVerticalOffsetChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
   //e.NewValue
}


セシウム137を97.7%吸着

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結解除 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:36:05 (415d)