1

私はWPFプロジェクトを作成しています。これで私は GridControl と Slider を使用しました! Bindingスライダーの Value を使用して、 とを介して GridControl の FontSize を変更しINotifyPropertyました。問題は、FontSize の値を変更することですが、適用されず、次の場所で生成さNull Object Reference Errorれます。

CS ファイル:

private void Slider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            // ... Get Slider reference.
            var slider = sender as Slider;
            // ... Get Value.
            double value = slider.Value;
            // ... Set Window Title.
            this.grid.FontSize = value;   // Error HERE
        }

XAML コード

 <Grid>
           <Slider Minimum="15" Maximum="30" Value="{Binding GridFontSize, Mode=TwoWay}" ValueChanged="Slider_ValueChanged" />

           <dxg:GridControl AutoGenerateColumns="AddNew" Name="grid"  Margin="0,25,0,0">
            <dxg:GridControl.View>
                         <dxg:TableView Name="View" AllowEditing="False" ShowTotalSummary="True" PreviewMouseDown="View_PreviewMouseDown" MouseDown="View_MouseDown"  />
               </dxg:GridControl.View>
            </dxg:GridControl>
    </Grid>

この問題を解決するには?誰でも私の質問に答えることができますか?

4

2 に答える 2

1

まず、プロパティGridを使用して名前を付けます。Name

<Grid Name="YourGrid">
    <Slider Minimum="15" Maximum="30" Value="{Binding GridFontSize, Mode=TwoWay}" 
        ValueChanged="Slider_ValueChanged" />
        <dxg:GridControl AutoGenerateColumns="AddNew" Name="grid"  Margin="0,25,0,0">
        <dxg:GridControl.View>
            <dxg:TableView Name="View" AllowEditing="False" ShowTotalSummary="True" 
                PreviewMouseDown="View_PreviewMouseDown" MouseDown="View_MouseDown" />
        </dxg:GridControl.View>
    </dxg:GridControl>
</Grid>

これで、コード内でその名前で参照できます。

private void Slider_ValueChanged(object sender, 
    RoutedPropertyChangedEventArgs<double> e)
{
    // ... Get Slider reference.
    var slider = sender as Slider;
    // ... Get Value.
    double value = slider.Value;
    // ... Set Window Title.
    TextElement.SetFontSize(YourGrid, value);
}
于 2013-10-24T15:27:47.263 に答える