2015-09-30 125 views
2

的XAML:Xamdatagrid IsReadOnly綁定不工作

<igDP:Field Name="Range" Label="Range (>=)" Width="AUTO"> 
             <igDP:Field.Settings> 
              <igDP:FieldSettings AllowEdit="True" EditorType="{x:Type igEditors:XamNumericEditor}" EditAsType="{x:Type sys:Double}"> 
               <igDP:FieldSettings.EditorStyle> 
                <Style TargetType="{x:Type igEditors:XamNumericEditor}"> 
                 <Setter Property="IsReadOnly" Value="{Binding DataItem.IsReadOnly}" /> 
                </Style> 
               </igDP:FieldSettings.EditorStyle> 
              </igDP:FieldSettings> 
             </igDP:Field.Settings> 
            </igDP:Field> 

視圖模型:

public bool IsReadOnly 
    { 
     get { return false; } 
    } 

我想要從假時分貝那麼用戶無法編輯數據根據病情如單元格格式細胞,反之亦然。我也嘗試使用AllowEdit綁定,但它不工作。上面的視圖模型只是一個測試例子。希望有人能提供一些解決方案。

回答

0

嘗試通過在RecordConfiguration的DataContext中創建一個IsEnabled屬性來綁定IsEnabled數字編輯器的屬性。它會工作。

<Setter Property="IsEnabled" Value="{Binding DataItem.IsEnabled}"/> 
1

您的問題沒有明確::::

如果綁定IsReadOnly屬性裏面的對象不是VM你的綁定工作正常。

但如果你綁定到虛擬機屬性,那麼你將不得不這樣做:

<Style TargetType="{x:Type igEditors:XamNumericEditor}"> 
     <Setter Property="IsReadOnly" Value="{Binding DataContext.IsReadOnly,RelativeSource={RelativeSource AncestorType=igDP:XamDataGrid}" /> 
</Style>