লিস্টবক্স এবং তালিকাভিউয়ের মধ্যে পার্থক্য কী


198

ডাব্লুপিএফের লিস্টবক্স এবং লিস্টভিউয়ের মধ্যে পার্থক্য কী? আমি তাদের সম্পত্তিগুলির মধ্যে কোনও উল্লেখযোগ্য পার্থক্য খুঁজে পাচ্ছি না। বিভিন্ন সাধারণ ব্যবহার আছে?

উত্তর:


211

ListViewমূলত একটির মতো ListBox(এবং এটির উত্তরাধিকার সূত্রে) তবে এর একটি Viewসম্পত্তিও রয়েছে। এই সম্পত্তিটি আপনাকে আইটেমগুলি প্রদর্শনের একটি পূর্বনির্ধারিত উপায় নির্দিষ্ট করতে দেয়। ছাত্রলীগের ( বেস ক্লাস লাইব্রেরি ) একমাত্র পূর্বনির্ধারিত দৃশ্যটি GridViewতবে আপনি সহজেই নিজের তৈরি করতে পারেন ।

আর একটি পার্থক্য হ'ল ডিফল্ট নির্বাচন মোড: এটি একটির Singleজন্য ListBox, তবে এটির Extendedজন্যListView


32

একটি ListViewআপনাকে এর viewsজন্য একটি সেট নির্ধারণ করতে দেয় এবং আপনাকে একটি দেশীয় উপায় দেয় (WPF bindingListView সংজ্ঞায়িত ব্যবহার করে এর প্রদর্শন নিয়ন্ত্রণ করার জন্য সমর্থন) দেয় views

উদাহরণ:

XAML

<ListView ItemsSource="{Binding list}" Name="listv" MouseEnter="listv_MouseEnter" MouseLeave="listv_MouseLeave">
        <ListView.Resources>
            <GridView x:Key="one">
                <GridViewColumn Header="ID" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding id}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
                <GridViewColumn Header="Name" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding name}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
            <GridView x:Key="two">                    
                <GridViewColumn Header="Name" >
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding name}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.Resources>
        <ListView.Style>
            <Style TargetType="ListView">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ViewType}" Value="1">
                        <Setter Property="View" Value="{StaticResource one}" />
                    </DataTrigger>
                </Style.Triggers>
                <Setter Property="View" Value="{StaticResource two}" />
            </Style>
        </ListView.Style>  

Code Behind:

private int viewType;

public int ViewType
{
    get { return viewType; }
    set 
    { 
        viewType = value;
        UpdateProperty("ViewType");
    }
}        

private void listv_MouseEnter(object sender, MouseEventArgs e)
{
    ViewType = 1;
}

private void listv_MouseLeave(object sender, MouseEventArgs e)
{
    ViewType = 2;
}

আউটপুট:

সাধারণ দেখুন: উপরে 2 দেখুন XAML

সাধারণ

মাউসওভার ভিউ: উপরে 1 টি দেখুন XAML

মাউস ওভার

আপনি যদি উপরে একটি অর্জন করার চেষ্টা করেন তবে ListBoxসম্ভবত আপনি ControlTempalate/ ItemTemplateএর জন্য আরও অনেক কোড লিখে শেষ করবেন ListBox


কোড পিছনের অংশটি 2019-04-29 (অতিরিক্ত ক্লোজিং ব্রেস এবং আপগ্রেডপ্রোপার্টি) হিসাবে বৈধ কোড নয়। এটা কি সংশোধন করা যায়?
ফ্রেডেরিক

2
এটি ইতিমধ্যে সঠিক। আপডেটপ্রোপার্টি সম্পত্তি পরিবর্তিত বিজ্ঞপ্তি দেওয়ার একটি পদ্ধতি। এটি আপনার পক্ষে সম্পূর্ণ আলাদা হতে পারে। সম্পত্তি পরিবর্তিত অবহিত করতে আপনি যে পদ্ধতি ব্যবহার করছেন তা ব্যবহার করুন। এবং কোন অতিরিক্ত বন্ধনী?
কিলো রেন

ভাল ব্যাখ্যার জন্য আপনাকে ধন্যবাদ। এবং আপনি ঠিক বলেছেন। আমার মনে হয় আমি ব্রেস লোকেশন দ্বারা প্রশংসিত হয়েছিল। অতিরিক্ত কোনও ধনুর্বন্ধনী নেই। আপনি যদি রাজি হন তবে আমি কিছুটা কোড রিলকিং করব।
ফ্রেডেরিক

9

তালিকার তালিকা তালিকার তালিকা নিয়ন্ত্রণ থেকে প্রাপ্ত ives একটি গুরুত্বপূর্ণ পার্থক্য হল তালিকার পূর্বনির্ধারিতভাবে বর্ধিত নির্বাচন মোডটি ব্যবহার করা হয়। তালিকাভিউ ভিউ নামে একটি সম্পত্তি যুক্ত করে যা আপনাকে একটি কাস্টম আইটেমপ্যানেলের চেয়ে সমৃদ্ধ উপায়ে ভিউটি কাস্টমাইজ করতে সক্ষম করে। গ্রিডভিউ সহ তালিকার একটি বাস্তব জীবনের উদাহরণ ফাইল এক্সপ্লোরারের বিশদ দর্শন। গ্রিড ভিউ সহ তালিকাসমূহ কম শক্তিশালী ডেটা গ্রিড। ডেটাগ্রিড পরিচয়ের পরে কন্ট্রোল লিস্টভিউ এর গুরুত্ব হারিয়েছে।

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