برنامج الأغذية العالمي: ربط لون الخلفية لlistviewitem لخاصية سلسلة عرافة كائن

StackOverflow https://stackoverflow.com/questions/360369

سؤال

ويا. لدي كائن له خاصية سلسلة دعا BackgroundColor. هذه السلسلة هي تمثيل السداسي من لون. لا أستطيع تغيير هذا الكائن.

وأنا ملزم مجموعة من هذه الكائنات إلى listView. ما أود القيام به هو ربط خلفية الخلاف يكون ListView إلى BackgroundColor خاصية الكائن الذي يتم عرضه في الصف.

ما هي أفضل طريقة لذلك؟

هل كانت مفيدة؟

المحلول

وأعتقد باستخدام IValueConverter هو الحل المناسب. هل يمكن جعل HexConverter يحول قيمة عرافة السلسلة إلى اللون. التي تصل ينبغي الحصول على انك بدأته.

نصائح أخرى

وأنت ترغب في استخدام أسلوب لربط خلفية ListViewItem إلى العنصر للصف. هذا البند هو DataContext الافتراضي لListViewItem لذلك هذا ينبغي أن تكون صريحة:

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:sys="clr-namespace:System;assembly=mscorlib"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid.Resources>
        <x:Array x:Key="colors" Type="{x:Type sys:String}">
            <sys:String>Red</sys:String>
            <sys:String>Yellow</sys:String>
            <sys:String>#0000FF</sys:String>
        </x:Array>
    </Grid.Resources>
    <ListView ItemsSource="{StaticResource colors}">
        <ListView.Resources>
            <Style TargetType="{x:Type ListViewItem}">
                <Setter Property="Background" Value="{Binding .}"/>
            </Style>
        </ListView.Resources>
    </ListView>
</Grid>

وبدلا من الربط إلى البند كله عليك ربط BackgroundColor، ولكن يجب أن تكون مشابهة لما سبق. لديك لديك لاستخدام محول مع الربط البادئة "#"، وهذا هو إشارة إلى المدمج في BrushConverter تحليل أنها عرافة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top