Silverlightコントロール全般?
ScrollViewerコントロールに HorizontalContentAlignmentとVerticalContentAlignmentプロパティが提供していますが、ScrollViewerコントロールの中にCanvasコントロールを入れる場合、HorizontalContentAlignmentとVerticalContentAlignmentプロパティを設定しても、実際に反映しません
対策:
この時、代わりにCanvasコントロールのHorizontalAlignmentとVerticalAlignmentプロパティを設定してください。
ScorllBarコントロールを利用するではなく、ScrollViewerコントロールを利用します。
<ScrollViewer Name="scrollViewer1" ScrollViewer.HorizontalScrollBarVisibility="Auto"> <Grid Name="dayGrid" Width="auto" Margin="0,0,0,0"> </Grid> </ScrollViewer>
共通的なイベント発生させるメソッドのソースコード:
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
}
コメント:
0
e[NȂECir Yahoo yV LINEf[^[Ōz500~`I
z[y[W ̃NWbgJ[h COiq@COsیI COze