Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查动态创建的两个小数点之间的有效值-MVVM_C#_Wpf_Xaml_Mvvm - Fatal编程技术网

C# 检查动态创建的两个小数点之间的有效值-MVVM

C# 检查动态创建的两个小数点之间的有效值-MVVM,c#,wpf,xaml,mvvm,C#,Wpf,Xaml,Mvvm,这个问题与这个帖子有关: 两个DoubleUpDown是动态创建的。如何根据最大值和最小值检查这两者之间的有效性。(最大值[第一控制]不能低于最小值[第二控制]) XAML代码: <Window ....> <Window.DataContext> <local:ViewModel> </Window.DataContext> <StackPanel> <ItemsControl ItemsSourc

这个问题与这个帖子有关:

两个DoubleUpDown是动态创建的。如何根据最大值和最小值检查这两者之间的有效性。(最大值[第一控制]不能低于最小值[第二控制])

XAML代码:

<Window ....>
  <Window.DataContext>
    <local:ViewModel>
  </Window.DataContext>

  <StackPanel>
    <ItemsControl ItemsSource="{Binding ListOfControls}">
      <ItemsControl.ItemTemplate>
        <DataTemplate>
          <StackPanel>
            <xctk:DoubleUpDown Value={Binding Value, ValidationOnDataErrors=True" />
          </StackPanel>
        </DataTemplate>
      </ItemsControl.ItemTemplate>
    </ItemsControl>
  </StackPanel>  
</Window>

谢谢

如果您总是创建两个控件,一个用于最大值,另一个用于最小值,那么使用
ItemsControl
是没有意义的,因为控件的数量毕竟不是动态的

因此,请删除
ItemsControl
,并使用我在上一个问题中建议的方法:

<Window ....>
    <Window.DataContext>
        <local:ViewModel>
    </Window.DataContext>

    <StackPanel>
        <xctk:DoubleUpDown Value="{Binding Min, ValidationOnDataErrors=True" />
        <xctk:DoubleUpDown Value="{Binding Max, ValidationOnDataErrors=True" />
    </StackPanel>
</Window>


ItemsControl
在这里似乎不是正确的选择。

如果总是有两个DoubleUpDown控件,那么使用ItemsControl有什么意义?没有。是否有任何方法可以使用ItemsControl进行此操作?因为这就是我现在拥有的。使用ItemsControl来显示两个控件是没有意义的。如何将Value属性映射到min或max?我知道。。但这只是一个例子。在我的实际应用程序中,我用itemscontrol创建了多达8个控件,那么你的问题就没有多大意义了。如果您有8个控件,哪个是最小值,哪个是最大值。。。?
public class CreateControl : IDataErrorInfo, INotifyPropertyChanged
{
  private double _value;
  public double Value
  {
    get { return _value; }
    set { _value = value; }
  }

  public string Error { get { return null; } }
  public string this[string columnName]
  {
    get
    {
      // Error handling code here
      return null;
    }
  }

  PropertyChanged Event ...
}
<Window ....>
    <Window.DataContext>
        <local:ViewModel>
    </Window.DataContext>

    <StackPanel>
        <xctk:DoubleUpDown Value="{Binding Min, ValidationOnDataErrors=True" />
        <xctk:DoubleUpDown Value="{Binding Max, ValidationOnDataErrors=True" />
    </StackPanel>
</Window>