"আইটেমসোর্স ব্যবহারের আগে আইটেম সংগ্রহ অবশ্যই খালি থাকতে হবে।"


172

আমি পুরানো এটিসি আভালন টিমের নিবন্ধে বর্ণিত যেমন একটি র‌্যাপপ্যানেলের মতো স্টাইলযুক্ত ডাব্লুপিএফ তালিকাভিউতে চিত্রগুলি প্রদর্শন করার চেষ্টা করছি: কীভাবে কাস্টম ভিউ তৈরি করবেন

আমি যখন ADO.NET সত্তা ফ্রেমওয়ার্ক অবজেক্টের একটি লিনকিউ-টু-সত্তা অনুসন্ধানের সংগ্রহের সাথে তালিকাভিউকে জনপ্রিয় করার চেষ্টা করি তখন আমি নিম্নলিখিত ব্যতিক্রমগুলি পাই:

ব্যতিক্রম

আইটেমসোর্স ব্যবহারের আগে আইটেম সংগ্রহ অবশ্যই খালি থাকতে হবে।

আমার কোড ...

ভিজ্যুয়াল বেসিক

Private Sub Window1_Loaded(...) Handles MyBase.Loaded
    ListViewImages.ItemsSource = From g In db.Graphic _
                                 Order By g.DateAdded Ascending _
                                 Select g
End Sub

XAML

<ListView Name="ListViewImages"
          SelectionMode="Single"
          ItemsSource="{Binding}">
    <local:ImageView />
</ListView>

আমি এই লাইনে একটি ব্রেকপয়েন্ট রেখেছি। ListViewImages.ItemsSourceহয় Nothingশুধু LINQ নিয়োগ আগে।

উত্তর:


127

এই বিশেষ ব্যতিক্রমটি ছুঁড়ে ফেলার কারণ হ'ল তালিকার সামগ্রীর তালিকাভিউ আইটেম সংগ্রহের ক্ষেত্রে প্রয়োগ হয়। সুতরাং এক্সএএমএল তার আইটেম সংকলনে একক স্থানীয়: চিত্রভিউর সাথে তালিকার ভিউ সূচনা করে। তবে আইটেমসন্ট্রোল ব্যবহার করার সময় আপনাকে অবশ্যই আইটেম সম্পত্তি বা আইটেমসোর্স সম্পত্তি ব্যবহার করতে হবে, আপনি একইসাথে উভয়ই ব্যবহার করতে পারবেন না। তাই আইটেমসোর্স বৈশিষ্ট্যটি প্রক্রিয়া করার পরে একটি ব্যতিক্রম নিক্ষেপ করা হয়।

ক্লাসে কনটেন্টপ্রোপার্টিঅ্যাট্রিবিউট অনুসন্ধান করে কোনও উপাদানের সামগ্রীটি কোন সম্পত্তিতে প্রযোজ্য হবে তা আপনি খুঁজে পেতে পারেন। এই ক্ষেত্রে এটি হচ্ছে সংজ্ঞায়িত বর্গ শ্রেণীবিন্যাসে উচ্চতর, ItemsControl করুন:

[ContentPropertyAttribute("Items")]

এখানে উদ্দেশ্যটি ছিল যে তালিকাভিউয়ের ভিউ কোনও স্থানীয়কে সেট করা হবে: চিত্রভিউ যাতে সম্পত্তিটি সেট করতে হবে তা স্পষ্টভাবে নির্দেশ করতে হবে।

এক্সএএমএল ঠিক করুন এবং ব্যতিক্রমটি চলে যায়:

<ListView Name="ListViewImages"
          SelectionMode="Single"
          ItemsSource="{Binding}">
    <ListView.View>
        <local:ImageView />
    </ListView.View>
</ListView>

এটি <ListView.View>ট্যাগটি অনুপস্থিত ছিল ।


6
এই উত্তরটি সঠিক। তবে এই কেসটি পরীক্ষা করার আগে পরীক্ষা করে নিন যে আপনার জ্যামাল অন্যান্য উত্তরে উল্লিখিত হিসাবে সঠিক কিনা l অন্যথায় আপনি কেবলমাত্র আইটেমসোর্স ইত্যাদির দিকে নজর রেখে প্রচুর সময় ব্যয় করতে পারেন শেষ পর্যন্ত এটি খুঁজে পেতে পারেন যে এটি একটি ছোট টাইপের কারণে।
pjm

182

কিছুটা ভিন্ন দৃশ্যে আমার এই একই ত্রুটি ছিল had আমার ছিল

<wpftoolkit:DataGrid
    AutoGenerateColumns="False"
    ItemsSource="{Binding Path=Accounts}" >
    <wpftoolkit:DataGridTextColumn 
        Header="Account Name" 
        Binding="{Binding Path=AccountName}" />
</wpftoolkit:DataGrid>

যা আমি স্থির করেছিলাম

<wpftoolkit:DataGrid
    AutoGenerateColumns="False"
    ItemsSource="{Binding Path=Accounts}" >
    <wpftoolkit:DataGrid.Columns>
        <wpftoolkit:DataGridTextColumn 
            Header="Account Name" 
            Binding="{Binding Path=AccountName}" />
    </wpftoolkit:DataGrid.Columns>
</wpftoolkit:DataGrid>

15
ধন্যবাদ! এতো সাধারণ সমস্যা ... তবে এমন একটি বিভ্রান্তিকর ত্রুটি।
স্কট

15
আমার জন্য পার্থক্যটি কেবলমাত্র <ডেটাগ্রিড। কলামগুলি> (এবং আমি এমনকি wpftoolkit ব্যবহার করছিলাম না) অনুপস্থিত ছিল।
ডেভ

1
আমার জন্যও <ডেটাগ্রিড.কলামগুলি> অনুপস্থিত।
শাশ্বত 21

67

আমি কেবল এই সমস্যার একটি খুব কৃপণকর উদাহরণে দৌড়েছি। আমার আসল অংশটি আরও জটিল ছিল, যার ফলে ত্রুটিটি দেখা শক্ত হয়ে পড়ে।

   <ItemsControl           
      Foreground="Black"  Background="White" Grid.IsSharedSizingScope="True"
      x:Name="MyGrid" ItemsSource="{Binding}">
      >
      <ItemsControl.ItemsPanel>
           <!-- All is fine here -->
      </ItemsControl.ItemsPanel>
      <ItemsControl.ItemTemplate>
           <!-- All is fine here -->
      </ItemsControl.ItemTemplate>
      <!-- Have you caught the error yet? -->
    </ItemsControl>

পোকাটি? অতিরিক্ত > প্রাথমিক ওপেনিং <ItemsControl>ট্যাগ পরে ! <পেয়েছেন চলছে বিল্ট-ইন সংগ্রহে প্রয়োগ করা হয়েছিল। যখন ডেটা কনটেক্সট পরে সেট করা হয়েছিল, তাত্ক্ষণিক ক্রাশোলা। এই সমস্যাটি ডিবাগ করার সময় আপনার আইটেমকন্ট্রোল নির্দিষ্ট ডেটা বাচ্চাদের চারপাশে কেবল ত্রুটিগুলি অনুসন্ধান করুন।


4
আমার ক্ষেত্রেও একই ঘটনা ঘটেছিল: অতিরিক্ত >=> ব্যতিক্রম
11:51

7
অবশ্যই এটি কেবল> এটিই এটি করবে। যে কোনও দুর্ঘটনাক্রমে টাইপ করা অক্ষর নিজেরাই আইটেম হয়ে যাবে। আপনি নিজের আইটেমসোর্স বৈশিষ্ট্যটি অস্থায়ীভাবে মোছার মাধ্যমে এই শর্তটি পরীক্ষা করতে পারেন। যদি আপনার এখনও ডেটা গ্রিডে সারি থাকে তবে আপনাকে বহিরাগত অক্ষরগুলি পরীক্ষা করতে হবে
সাইমন_উইভার

4
আর্মেন্টেজ ... আপনি আমাকে বাঁচিয়েছেন আমি জানি না এটি কত ঘন্টা খুঁজছেন !!! এই পোস্ট করার জন্য আপনাকে অনেক ধন্যবাদ ... ভোট প্রদান!
জন ফেয়ারব্যাঙ্কস

1
খুব আকর্ষণীয়. আমি নিশ্চিত নই কেন এটি সংকলন ত্রুটি নয়। এটা আমাকে পেয়েছে!
shawn1874

1
ওহ আমার, আমার একই ত্রুটি ছিল: অতিরিক্ত ">"। আমি কি আপনাকে বিয়ার কিনতে পারি? কী অদ্ভুত ত্রুটি এবং সংকলন ত্রুটি ছাড়া এটি খুঁজে পাওয়া কতটা কঠিন! এই আমার দিন বাঁচা!
বুজরন গ্রোসম্যান

40

আমিও অন্যরকম দৃশ্যে।

<ComboBox Cursor="Hand" DataContext="{Binding}"  
              FontSize="16" Height="27" ItemsSource="{Binding}" 
              Name="cbxDamnCombo" SelectedIndex="0" SelectedValuePath="MemberId">

        <DataTemplate>
            <TextBlock DataContext="{Binding}">
                <TextBlock.Text>
                  <MultiBinding StringFormat="{}{0} / {1}">
                    <Binding Path="MemberName"/>
                    <Binding Path="Phone"/>
                  </MultiBinding>
                </TextBlock.Text>
            </TextBlock>
        </DataTemplate>

</ComboBox>

এখন আপনি যখন হারিয়ে যাওয়া ট্যাগ কন্ট্রোল দিয়ে সম্পূর্ণ করেন I আইটেম টেম্পলেট , সবকিছু স্বাভাবিক হয়ে যায়:

<ComboBox Cursor="Hand" DataContext="{Binding}"  
              FontSize="16" Height="27" ItemsSource="{Binding}" 
              Name="cbxDamnCombo" SelectedIndex="0" SelectedValuePath="MemberId">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <TextBlock DataContext="{Binding}">
                <TextBlock.Text>
                  <MultiBinding StringFormat="{}{0} / {1}">
                    <Binding Path="MemberName"/>
                    <Binding Path="Phone"/>
                  </MultiBinding>
                </TextBlock.Text>
            </TextBlock>
        </DataTemplate>
    <ComboBox.ItemTemplate>
</ComboBox>

1
ডাব্লুপিএফকে কেন এত অবজ্ঞাপূর্ণ হতে হবে? একটি তালিকাবক্সের জন্য ডেটা টেম্প্লেট সেট করা মজার ব্যতিক্রম ঘটায় কিন্তু তাদের কোনওটিই সঠিক দিকনির্দেশে নিয়ে যায় নি।
অলয়েস ক্রাউস

এটি ব্যবহার করার সময় আমার কাছে এটি স্থির <ItemsControl>
আরহাগুইডা

27

ভিন্ন দৃশ্যে আমার একই ত্রুটি ছিল

<ItemsControl ItemsSource="{Binding TableList}">
    <ItemsPanelTemplate>
        <WrapPanel Orientation="Horizontal"/>
    </ItemsPanelTemplate>
</ItemsControl>

সমাধানটি ছিল ItemsControl.ItemsPanelট্যাগটির আগে ট্যাগটি যুক্ত করাItemsPanelTemplate

<ItemsControl ItemsSource="{Binding TableList}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
</ItemsControl>

এটাই আমার সমস্যা স্থির করেছে!
আরডিভি

14

The উত্তরটি আলাদাভাবে বর্ণনা করতে ⚠️

X এক্সএমেলে যাচাই করুন যে সংজ্ঞায়িত অঞ্চলগুলিতে মিসিং প্যারেন্ট নোড বা ভুল নোড নেই

উদাহরণ স্বরূপ

এটি ব্যর্থ হচ্ছে:

নীচে শিশু নোডের জন্য কোনও সঠিক পিতামাতারItemsPanelTemplate নেই:

<ItemsControl ItemsSource="{Binding TimeSpanChoices}">
    <ItemsPanelTemplate>
        <UniformGrid Rows="1" />
    </ItemsPanelTemplate>
    ...
</ItemsControl>

এটি কাজ করছে:

<ItemsControl ItemsSource="{Binding TimeSpanChoices}">
    <ItemsControl.ItemsPanel> <!-- I am the missing parent! -->
        <ItemsPanelTemplate>
            <UniformGrid Rows="1" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    ...    
</ItemsControl>

Provided প্রদত্ত একটি সঠিক প্যারেন্ট নোড রয়েছে <ItemsControl.ItemsPanel>^^^ 💡


2
এই. অনুপস্থিত <DataGrid.Columns>ছিল এবং সরাসরি ভিতরে টেমপ্লেট কলাম ছিল <DataGrid>। তার জন্য বিজোড় ত্রুটি।
অ্যান্ড্রু গ্রোথ

12

ব্যতিক্রম

আইটেমসোর্স ব্যবহারের আগে আইটেম সংগ্রহ অবশ্যই খালি থাকতে হবে।

আপনি যখন ItemsSource বিভিন্ন উত্সের মাধ্যমে আইটেম যুক্ত করেন তখন এই ব্যতিক্রম ঘটে । সুতরাং নিশ্চিত হয়ে নিন যে আপনি দুর্ঘটনাক্রমে কোনও ট্যাগ মিস করেছেন না , কোনও ট্যাগ ভুল জায়গায় রেখেছেন, অতিরিক্ত ট্যাগ যুক্ত করেছেন, বা কোনও ট্যাগ ভুল লিখেছেন।

<!--Right-->

<ItemsControl ItemsSource="{Binding MyItems}">
     <ItemsControl.ItemsPanel.../>
     <ItemsControl.MyAttachedProperty.../>
     <FrameworkElement.ActualWidth.../>
</ItemsControl>


<!--WRONG-->

<ItemsControl ItemsSource="{Binding MyItems}">
     <Grid.../>
     <Button.../>
     <DataTemplate.../>
     <Heigth.../>
</ItemsControl>

ItemsControl.ItemsSourceইতিমধ্যে সেট করার সময় Binding, অন্যান্য আইটেমগুলি (গ্রিড, বাটন, ...) উত্সটিতে যোগ করা যায় না। তবে যখন ItemsSourceহয় মধ্যে ব্যবহারযোগ্য না নিম্নলিখিত কোড করা হয় অনুমতি :

<!--Right-->
<ItemsControl>
     <Button.../>
     <TextBlock.../>
     <sys:String.../>
</ItemsControl>

অনুপস্থিত ItemsSource="{Binding MyItems}"অংশটি লক্ষ্য করুন ।


2
আপনি এখানে যা বলেছেন তার মধ্যে কিছু আমাকে আমার ডেটা গ্রিড কলামগুলিকে দীর্ঘ কড়া নজর দেওয়ার জন্য উত্সাহিত করেছিল ... তখন আমি বুঝতে পেরেছিলাম যে এগুলি কোনও ডেটাগ্রিড.কলামগুলি নেই। আমাকে মানসিক জগ দেওয়ার জন্য +1।
ক্রেগ ব্রেট

5

ডেটাগ্রিড.কলামগুলির মধ্যে টেমপ্লেট কলাম রাখুন। এটি আমাকে এই সমস্যাটি সমাধান করতে সহায়তা করেছে।

তথ্যসূত্র : ডেটাগ্রিডটেম্পলেট কলাম : আইটেমসোর্স ব্যবহারের আগে আইটেম সংগ্রহ অবশ্যই ফাঁকা থাকতে হবে।


4

আমার ক্ষেত্রে, এটি তালিকাভিউয়ের ভিতরে কেবলমাত্র একটি অতিরিক্ত স্ট্যাকপ্যানেল ছিল:

<ListView Name="_details" Margin="50,0,50,0">
            <StackPanel Orientation="Vertical">
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="{Binding Location.LicenseName, StringFormat='Location: {0}'}"/>
                    <TextBlock Text="{Binding Ticket.Employee.s_name, StringFormat='Served by: {0}'}"/>
                    <TextBlock Text="{Binding Ticket.dt_create_time, StringFormat='Started at: {0}'}"/>
                    <Line StrokeThickness="2" Stroke="Gray" Stretch="Fill" Margin="0,5,0,5" />
                    <ItemsControl ItemsSource="{Binding Items}"/>
                </StackPanel>
            </StackPanel>
        </ListView>

হয়ে:

<ListView Name="_details" Margin="50,0,50,0">
                <StackPanel Orientation="Vertical">
                    <TextBlock Text="{Binding Location.LicenseName, StringFormat='Location: {0}'}"/>
                    <TextBlock Text="{Binding Ticket.Employee.s_name, StringFormat='Served by: {0}'}"/>
                    <TextBlock Text="{Binding Ticket.dt_create_time, StringFormat='Started at: {0}'}"/>
                    <Line StrokeThickness="2" Stroke="Gray" Stretch="Fill" Margin="0,5,0,5" />
                    <ItemsControl ItemsSource="{Binding Items}"/>
                </StackPanel>
        </ListView>

এবং সব ঠিক আছে।


4

আমার ক্ষেত্রে এটি আইটেমসন্ট্রোলের জন্য ডেটা টেম্পলেট ব্যবহার করছে না।

পুরানো:

<ItemsControl Width="243" ItemsSource="{Binding List, Mode=TwoWay}">
    <StackPanel Orientation="Horizontal">
        <TextBox Width="25" Margin="0,0,5,0" Text="{Binding Path=Property1}"/>
        <Label Content="{Binding Path=Property2}"/>
    </StackPanel>
</ItemsControl>

নতুন:

<ItemsControl Width="243" ItemsSource="{Binding List, Mode=TwoWay}">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <TextBox Width="25" Margin="0,0,5,0" Text="{Binding Path=Property1}"/>
                <Label Content="{Binding Path=Property2}"/>
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

এই গণ্ডগোলের সমাধান করার জন্য আমি যে সময়টি ব্যয় করেছি 4 ঘন্টা আমি আপনাকে ধন্যবাদ জানাতে চাই ... ধন্যবাদ আপনাকে
মার্ক

4

আমার সাথে একটি ডেটাগ্রিড স্টাইল ছিল। আপনি <DataGrid.RowStyle>স্টাইলের চারপাশে ট্যাগগুলি ছেড়ে দিলে আপনি এই সমস্যাটি পান। আশ্চর্যের বিষয় এটি এটি কিছু সময়ের জন্য এটি কাজ করে। এখানে খারাপ কোড is

 <DataGrid Name="DicsountScheduleItemsDataGrid"
                  Grid.Column="0"
                  Grid.Row="2"
                  AutoGenerateColumns="false"
                  ItemsSource="{Binding DiscountScheduleItems, Mode=OneWay}">
            <Style TargetType="DataGridRow">
                <Setter Property="IsSelected"
                        Value="{Binding IsSelected, Mode=TwoWay}" />
            </Style>

এবং ভাল

 <DataGrid Name="DicsountScheduleItemsDataGrid"
                  Grid.Column="0"
                  Grid.Row="2"
                  AutoGenerateColumns="false"
                  ItemsSource="{Binding DiscountScheduleItems, Mode=OneWay}">
            <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Setter Property="IsSelected"
                        Value="{Binding IsSelected, Mode=TwoWay}" />
            </Style>
            </DataGrid.RowStyle>

3

আমারও ত্রুটি ছিল << / comboBox.SelectedValue> এবং </comboBox> ট্যাগের মধ্যে ভুলক্রমে সমস্যাটি যুক্ত করা হয়েছিল এই অতিরিক্ত প্রতীক ">":

<ComboBox 
   ItemsSource="{Binding StatusTypes}"
   DisplayMemberPath="StatusName"
   SelectedValuePath="StatusID">
   <ComboBox.SelectedValue>
      <Binding Path="StatusID"/>
   </ComboBox.SelectedValue>
   >
</ComboBox>

এবং এখানে সঠিক কোডটি রয়েছে:

<ComboBox 
   ItemsSource="{Binding StatusTypes}"
   DisplayMemberPath="StatusName"
   SelectedValuePath="StatusID">
   <ComboBox.SelectedValue>
      <Binding Path="StatusID"/>
   </ComboBox.SelectedValue>
</ComboBox>

2

আমার যখন প্রসঙ্গ মেনু প্রয়োগ করার চেষ্টা করেছি তখন আমার এই ত্রুটি হয়েছিল TreeView। এই চেষ্টাগুলি একটি খারাপ এক্সএএমএল-তে শেষ হয়েছিল যা কোনওভাবে সংকলিত হয়েছে:

<TreeView Height="Auto" MinHeight="100"  ItemsSource="{Binding Path=TreeNodes, Mode=TwoWay}" 
    ContextMenu="{Binding Converter={StaticResource ContextMenuConverter}}">
    ContextMenu="">
    <TreeView.ItemContainerStyle>
    ...  

উল্লেখ্য সমস্যাযুক্ত লাইন: ContextMenu="">
কেন এটি সংকলিত হয়েছে তা আমি জানি না, তবে আমি বুঝতে পেরেছিলাম যে এই ক্রিপ্টিক ব্যতিক্রম বার্তার কারণ হিসাবে এটি উল্লেখ করার মতো। আর্মেন্টেজ যেমন বলেছিল, এক্সএএমএলকে সাবধানতার সাথে দেখুন, বিশেষত যে জায়গাগুলিতে আপনি সম্প্রতি সম্পাদনা করেছেন।


2

আমি অন্য পরিস্থিতিতে এই ত্রুটির মুখোমুখি হয়েছি। আমি সরাসরি ট্রিভিউআইটেমগুলির জন্য একটি শৈলীর সংজ্ঞা দেওয়ার চেষ্টা করেছি <TreeView>, তবে পরিবর্তে এটি এম্বেড করা উচিত ছিল <TreeView.ItemContainerStyle>

ভুল:

<TreeView ItemsSource="{Binding ExampleListView}">
    <Style TargetType="{x:Type TreeViewItem}">
        <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
        <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
    </Style>
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding SubItemListList}">
        ...
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

সঠিক:

<TreeView ItemsSource="{Binding ExampleListView}">
    <TreeView.ItemContainerStyle>
        <Style TargetType="TreeViewItem">
            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
            <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
        </Style>
    </TreeView.ItemContainerStyle>
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding SubItemListList}">
        ...
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

1

সম্ভবত এই ধরনের দরকারী উত্তর নয়, তবে কলাম ক্রম পরিবর্তন করার সময় আমার একই সমস্যা ছিল এবং নীচের নমুনার মতো একটির মতো ভুল করেছি। প্রচুর কলাম রয়েছে, আমি সেগুলি পুনরায় অর্ডার করেছি এবং ট্যাগ বন্ধ করার পরে কোনওভাবে একটি আটকে দিয়েছি /DataGrid.Columns:

       <DataGridTemplateColumn x:Name="addedDateColumn" Header="Added Date" Width="SizeToHeader">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=AddedDate}" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
            <DataGridTemplateColumn x:Name="rowguidColumn" Header="rowguid" Width="SizeToHeader">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=rowguid}" />
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
    </DataGrid>

যাইহোক, এর কারণে আধ ঘন্টা হারিয়েছি। আশা করি এটি অন্যকে সহায়তা করবে।


1

আমি এই সমস্যায় পড়েছিলাম কারণ একক স্তরের ট্যাগটি, <ListView.View>স্পিরিফিক হিসাবে, আমার এক্সএএমএল-এ অনুপস্থিত ছিল।

এই কোডটি এই ত্রুটি তৈরি করেছে।

<Grid>
    <ListView Margin="10" Name="lvDataBinding" >
        <GridView>
            <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
            <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
            <GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
        </GridView>
    </ListView>
</Grid>

নিম্নলিখিত এটি স্থির করে

<Grid>
    <ListView Margin="10" Name="lvDataBinding" >
        <ListView.View> <!-- This was missing in top! -->
            <GridView>
                <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
                <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
                <GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
            </GridView>
        </ListView.View>
    </ListView>
</Grid>

-1

টাইপস থেকে সাবধান! আমি নিম্নলিখিত ছিল

<TreeView ItemsSource="{Binding MyCollection}">
    <TreeView.Resources>
        ...
    </TreeView.Resouces>>
</TreeView>

(টেলিং > দেখুন , যা বিষয়বস্তু হিসাবে ব্যাখ্যা করা হয়েছে, সুতরাং আপনি দু'বার কন্টেন্ট সেট করছেন ... আমাকে কিছুক্ষণ সময় নিয়েছে :)


আর্মেন্টেজ ইতিমধ্যে আরও কিছু ব্যাখ্যা দিয়ে এটি উল্লেখ করেছে।
বেন ভয়েগট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.