Wpf 从2个绑定do滑块的TexBox中的值在TexBox中执行计算

Wpf 从2个绑定do滑块的TexBox中的值在TexBox中执行计算,wpf,xaml,textbox,Wpf,Xaml,Textbox,我有以下代码: <Grid HorizontalAlignment="Center" VerticalAlignment="Center"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />

我有以下代码:

    <Grid HorizontalAlignment="Center" VerticalAlignment="Center">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="300*" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>

    <Label x:Name="labelMultiplicador" Grid.Row="0" Grid.Column="0" Content="Multiplicador:" FontWeight="Bold" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" Width="100" />
    <Slider x:Name="sliderMultiplicador" Grid.Row="0" Grid.Column="1" Orientation="Horizontal" SmallChange="1" IsSnapToTickEnabled="True" Minimum="1" VerticalAlignment="Center" Height="1" MinHeight="30" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Center" MinWidth="300" Margin="5" TickPlacement="TopLeft" />
    <TextBox x:Name="textBoxMultiplicador" Grid.Row="0" Grid.Column="2" Width="50" Text="{Binding ElementName=sliderMultiplicador,Path=Value}" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="1,0,0,0" Margin="5" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MinHeight="30" />

    <Label x:Name="labelMultiplicando" Grid.Row="1" Grid.Column="0" Content="Multiplicando:" FontWeight="Bold" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" Width="100" />
    <Slider x:Name="sliderMultiplicando" Grid.Row="1" Grid.Column="1" Orientation="Horizontal" SmallChange="1" IsSnapToTickEnabled="True" Minimum="1" VerticalAlignment="Center" MinHeight="30" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Center" MinWidth="300" Margin="5" Height="1" TickPlacement="TopLeft" />
    <TextBox x:Name="textBoxMultiplicando" Grid.Row="1" Grid.Column="2" Width="50" Text="{Binding ElementName=sliderMultiplicando,Path=Value}" HorizontalAlignment="Center" VerticalAlignment="Center" Padding="1,0,0,0" Margin="5" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" MinHeight="30" />

    <Label x:Name="labelProduto" Grid.Row="2" Grid.Column="0" Content="Produto:" FontWeight="Bold" Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" Width="100" />
    <TextBox x:Name="textBoxProduto" Grid.Row="2" Grid.Column="2" Width="50" Text="" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="1,0,0,0" Margin="5" HorizontalContentAlignment="Right" VerticalContentAlignment="Center" MinHeight="30" />
</Grid>

我想使用TextBoxMultiplicator和TextBoxMultiplicatAndo中的值计算乘积(textBoxProduto)。 我是WPF的新手,所以这可能是一个“愚蠢”的问题

例如,如果我尝试使用textboxmultipador_TextChanged事件计算乘积,就会得到一个“'System.NullReferenceException'”。 在这种情况下,最好的方法是什么? 谢谢


这里的完整示例:

两个框都有默认值吗?如果没有,Convert.ToInt32(BoxA.Text)*Convert.ToInt32(BoxB.Text)将抛出该错误,因为一个值为NULL。如果XAML中有Text=“{Binding ElementName=sliderMultiplicando,Path=value}”,我如何添加默认值?基本上有很多方法可以这样做,更重要的是,这是正确的选择吗?但是如果(boxa.Text==“”){a=new int;}a*b将检查该值并在需要时实例化,但输出将始终为0(任何数字乘以零,int的默认值)为零。显示如何获得
NullReferenceException
?附加的完整示例。