uwp C#の条件に基づいてgridviewの行の色を変更する方法は?どのようにuwp C#の条件に基づいてグリッドビューの行の色を変更するには?
グリッドビューの行を私の条件に基づいて強調したいと思います。
uwp C#の条件に基づいてgridviewの行の色を変更する方法は?どのようにuwp C#の条件に基づいてグリッドビューの行の色を変更するには?
グリッドビューの行を私の条件に基づいて強調したいと思います。
これを行う便利な方法は、GridViewItem
の周りにBorderを置き、ValueConverter
を使用して現在のアイテムに基づいて背景色を選択することです。
まず、あなたの値変換を定義します。
public class ItemToColorConverter: IValueConverter
{
//this converts the item from your data source to the color brush
//of the background of the row
public object Convert(object value, Type targetType,
object parameter, string language)
{
//cast the value parameter to the type of item in your data source
var yourValue = (YourType)value;
if (yourValue > 10) //some condition you want to use to choose the color
{
//highlight
return new SolidColorBrush(Colors.Green);
}
else
{
//leave no background
return new SolidColorBrush(Colors.Transparent);
}
}
//you don't have to implement conversion back as this is just one-way binding
public object ConvertBack(object value, Type targetType,
object parameter, string language)
{
throw new NotImplementedException();
}
}
は今、あなたはApp.xaml
で、コンバータのアプリケーションリソースインスタンスを作成する必要があります。
<Application ...>
<Application.Resources>
<converters:ItemToColorConverter x:Key="ItemToColorConverter" />
</Application.Resources>
</Application>
は、今すぐあなたのGridView
項目DataTemplate
にこのコンバーターを使用します。
<GridView ItemsSource="{Binding YourDataSource"}>
<GridView.ItemTemplate>
<DataTemplate>
<Border Background="{Binding Converter={StaticResource ItemToColorConverter}">
<!-- ... your content -->
</Border>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
私は10以上のマーク(条件)を持っているそれらの行だけ背景色を変更したい..しかしsoln上のすべての行を緑色.. –
返事ありがとうございます。でもまだ私は私のsolnを取得していません。私はasp.netのRowDataBoundのようなものを探しています –
あなたは必要に応じてそれを変更することができます。背景を透明に保ちたい場合は、SolidColorBrushコンストラクタでColors.Transparentを使用してください:-) –
ご返信ありがとうございます..私はこれのための任意のコードを試していない..私はこれについては考えていません.. –