2013-11-27 10 views
9

मैं XAML डिजाइनर में एक ICollectionView गुण नहीं जाना जाता है के साथ एक GridView बाध्य कर दिया है क्योंकि CollectionView में इकाई प्रकार Object के रूप में तब्दील किया गया है और इकाई गुण नहीं किया जा सकता की संपत्ति का समाधान नहीं कर पहुँचा, यह ठीक कोई त्रुटि चलता है, लेकिन डिजाइनर, एक त्रुटि के रूप में यह पता चलता है कि अगर मैं संग्रह करने के लिए बाध्य मैं गुण ठीक उपयोग कर सकते हैंWPF ICollectionView बाइंडिंग आइटम प्रकार वस्तु

उदाहरण इकाई एक string Name संपत्ति के साथ एक Person मैं उन्हें एक ObservableCollection<Person> में जगह है और मिलता है इससे दृश्य और इसे GridView.ItemsSource पर बाध्य करें जब मैं कॉलम हेडर DataMemberBinding.FirstName संपत्ति सेट करने का प्रयास करता हूं तो डिज़ाइनर इसे दिखाता है एक त्रुटि के रूप में

का समाधान नहीं कर संपत्ति प्रकार ऑब्जेक्ट का डेटा संदर्भ में 'प्रथम'

यह एक बग है या यह Resharper मुझे

नमूना कोड पर चाल खेल रहा है:

public class Person 
{ 
    public string FirstName{ 
     get { return _firstName; } 
     set { SetPropertyValue("FirstName", ref _firstName, value); } 
    } 
} 
public class DataService 
{ 
    public IDataSource DataContext { get; set; } 
    public ICollectionView PersonCollection{ get; set; } 

    public DataService() 
    { 
     DataContext = new DataSource(); 
     //QueryableCollectionView is from Telerik 
     //but if i use any other CollectionView same thing 
     //DataContext Persons is an ObservableCollection<Person> Persons 
     PersonCollection = new QueryableCollectionView(DataContext.Persons); 
    } 
} 

<telerik:RadGridView x:Name="ParentGrid" 
    ItemsSource="{Binding DataService.PersonCollection}" 
    AutoGenerateColumns="False"> 
    <telerik:RadGridView.Columns > 
     <telerik:GridViewDataColumn Header="{lex:Loc Key=FirstName}" 
      DataMemberBinding="{Binding FirstName}"/> 
    </telerik:RadGridView.Columns> 
</telerik:RadGridView> 

enter image description here

उत्तर

5

चेतावनी gs कि Resharper आपको XAML दृश्य में दे रहा है क्योंकि नियंत्रण के डिज़ाइन-टाइम व्यू को यह नहीं पता कि इसका डेटा-संदर्भ किस प्रकार का है। आप अपने बाइंडिंग में मदद के लिए डी: डिज़ाइन इंस्टेंस का उपयोग कर सकते हैं।

<UserControl x:Class="MyNamespace.UserControl1" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:mc="http://schemas.openxmlformats.org/markup‐compatibility/2006" 
mc:Ignorable="d" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:lcl="clr‐namespace:MyAssembly" 
d:DataContext="{d:DesignInstance Type=lcl:ViewModel}"> 
(लक्ष्य नाम उचित रूप से बाध्यकारी की जगह विधानसभा/नाम स्थान /) जोड़ें निम्नलिखित
संबंधित मुद्दे