■88780 / ) |
Re[4]: DataGridのセルをUserControlにする |
□投稿者/ Hongliang (706回)-(2018/09/26(Wed) 11:10:54)
|
> NumericUpDownが置いてあるDataGrid.ItemsSourceのMin,Max,Valueをバインドするには
> どうしたらよいのでしょうか?
>
>>自身ではなく、最上位子要素Grid辺りのDataContextで扱うようにすれば、
> 最上位子要素とはSettingControl.xamlの子要素でしょうか?
NumericUpDownの内部の話です。
<UserControl x:Class="UI.Controls.NumericUpDown"
...>
<Grid Background="White" x:Name="Root">
public NumericUpDown()
{
InitializeComponent();
// 内部のVMは内部の要素に。
this.Root.DataContext = new ViewModels.NumericUpDownViewModel();
// これならNumericUpDown自体はDataContextが設定されてないので、
// 論理ツリーの上位のDataContextを参照しに行くようになる
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
NumericUpDown ctrl = sender as NumericUpDown;
var vm = this.Root.DataContext as ViewModels.NumericUpDownViewModel;
// 略
}
|
|