2009-07-24 32 views
8

Tôi đã có bảng dữ liệu Silverlight (v2), trong đó một số mục là phần đầu và vì vậy phải xuất hiện với màu nền khác.silverlight datagrid - ràng buộc mỗi phong cách của hàng

tôi đang cố gắng để làm điều này với XAML sau:

 <dg:DataGrid.RowStyle> 
      <Style TargetType="dg:DataGridRow"> 
       <Setter Property="Background" Value="{Binding Path=Background, Mode=OneTime}" /> 
      </Style> 
     </dg:DataGrid.RowStyle> 

tôi mong đợi nó để ràng buộc tài sản Bối cảnh của viewmodel hàng DataGrid để sở hữu nền của mỗi hàng, thay vào đó tôi nhận được một phân tích cú pháp XAML lạ đáng yêu lỗi:

{System.Windows.Markup.XamlParseException: AG_E_RUNTIME_MANAGED_UNKNOWN_ERROR [Line: 16 Position: 57] 
    at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator) 
    at Etana.Survey.Silverlight.UserInterface.Views.MaximumProbableLossPage.InitializeComponent() 
    at Etana.Survey.Silverlight.UserInterface.Views.MaximumProbableLossPage..ctor()} 

nếu tôi cố gắng để xác định rõ ràng "Red" và không cố gắng và ràng buộc phong cách, sau đó nó hoạt động, vì vậy tôi tự hỏi, nếu Silverlight sẽ cho phép tôi để ràng buộc một phong cách như vậy hoặc nếu có một số thủ thuật khác cho nó.

(XAML được dựa trên một thực hiện WPF điều này mà hoạt động tốt)

bất kỳ đầu vào sẽ được nhiều đánh giá cao

+0

một điều mà có thể là đáng nhắc đến là tài sản ViewModel.Background là một chuỗi. PS. Tôi hiện đang thiết lập nền của mỗi hàng bằng cách xử lý sự kiện LoadingRow, nhưng tôi cảm thấy bẩn khi làm điều đó: P –

Trả lời

4

Thay đổi ràng buộc của bạn để TemplateBinding. ví dụ:

<dg:DataGrid.RowStyle> 
      <Style TargetType="dg:DataGridRow"> 
       <Setter Property="Background" Value="{TemplateBinding Background, Mode=OneTime}" /> 
      </Style> 
</dg:DataGrid.RowStyle> 
+0

Nó đã cho tôi sau Lỗi: Lỗi Thuộc tính 'Nền' không được tìm thấy trong loại 'DataGridRow' –

3

Bạc dưới dạng phiên bản số 4 không hỗ trợ các liên kết trong giá trị Setter. Có một cách giải quyết thực hiện như một tài sản kèm theo:

SetterValueBindingHelper

+0

cảm ơn vì điều đó, chắc chắn nó sẽ có ích cho những người tìm kiếm giải pháp trong v4, câu hỏi đã được yêu cầu rõ ràng cho v2 mặc dù :) –

+0

Chính xác những gì tôi muốn nói ... Tôi đã đến bài đăng này trong khi tìm kiếm giải pháp cho vấn đề đó và câu trả lời này không giúp ích gì . Sẽ chỉnh sửa bài đăng. –

Các vấn đề liên quan