2012-07-13 111 views
1

我有一個用戶控件,它是一個文本框和兩個按鈕的組合。我已經設置了依賴屬性,以便它正確地綁定到我的模型。問題是當我有驗證錯誤時,「紅色」邊框包裝文本框和按鈕。XAML用戶控制驗證

我想改變行爲,以便當出現錯誤時,只有內部文本框有紅色邊框,但無法弄清楚如何做到這一點。

[曾經試圖發佈的圖像,但我不足夠高的:-(]

我的文本框中已將此作爲其結合(用戶控制內,這是包裝在一個網格用棧面板爲按鈕,因爲它們是動態的)

代碼隱藏

private static DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(UserControl)); 

XAML文件

<Textbox Grid.Column="0" 
     Text="{Binding Text, Mode=TwoWay, StringFormat={StaticResource CommaFormat} 
      , RelativeSource={RelativeSource FindAncestor 
      , AncestorType={x:Type UserControl}}, ValidatesOnDataErrors=True}" 
     x:Name="txt" 
     MaxLength="6" Height="22" Width="65" VerticalAlignment="Top" /> 

在我的主要形式。我有這樣的XAML綁定

<WeightTextbox Grid.Column="1" Grid.Row="2" Margin="5,0" 
       Text="{Binding SelectedDocument.Weight1, 
         Mode=TwoWay, 
         ValidatesOnDataErrors=True, 
         TargetNullValue={x:Static sys:String.Empty}}" /> 

注:這會出現一個單一的Windows窗體上5倍,這樣我可以收集不同的權重爲我的文檔。

我嘗試過搜索,但一直未能找到任何東西。

編輯(終於足夠高的聲望添加圖像)

+0

任何人都可以點我在正確的方向? – adondero 2012-07-17 15:19:16

+0

添加了正在發生的事件的圖像。任何幫助將不勝感激。 – adondero 2013-11-19 17:28:23

回答

0

昨天終於有啊,哈那一刻,所以我張貼這種情況下有人來搜索。添加一個依賴屬性我WeightTextbox稱爲「必需」

private static DependencyProperty RequiredProperty = DependencyProperty.Register("Required", typeof(bool), typeof(xagDateTimeCustom)); 

    public Boolean Required 
    { 
     get 
     { 
      return (bool)GetValue(RequiredProperty); 
     } 
     set 
     { 
      bool oldValue = Required; 
      SetValue(RequiredProperty, value); 
      DependencyPropertyChangedEventArgs e = new DependencyPropertyChangedEventArgs(RequiredProperty, oldValue, value); 
      OnPropertyChanged(e); 
     } 
    } 

在我的主要形式,我現在以下。(正在設置新的必要屬性和ValidatesOnDataErrors設置爲False

<WeightTextbox Grid.Column="1" Grid.Row="2" Margin="5,0" 
       Required=True 
       Text="{Binding SelectedDocument.Weight1, 
         Mode=TwoWay, 
         ValidatesOnDataErrors=False, 
         TargetNullValue={x:Static sys:String.Empty}}" /> 

然後我的自定義控件內,我實現了IDataErrorInfo的,似乎現在的工作。

enter image description here