当前位置: 首页 > 知识库问答 >
问题:

在DataTemplate Xamarin.Forms中绑定视图的BackgroundColor

费辰阳
2023-03-14
<ListView.ItemTemplate>
                <DataTemplate>
                    <!--<DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding fundoColor}" Value="4">
                                <Setter TargetName="produtos_stack_color" Property="Background" Value="LawnGreen" />
                            </DataTrigger>
                        </DataTemplate.Triggers>-->

                    <ViewCell>

                        <StackLayout x:Name="produtos_stack_color" BackgroundColor="{Binding fundoColor}" VerticalOptions="FillAndExpand" Margin="10,10,10,10">
                            <StackLayout Orientation="Horizontal" Padding="10,10,10,10" BackgroundColor="Black" HorizontalOptions="FillAndExpand">
                                <Image Source="{Binding imagem}" HeightRequest="80" HorizontalOptions="CenterAndExpand" WidthRequest="160" Aspect="Fill"/>

                                <StackLayout Orientation="Horizontal" BackgroundColor="Green" VerticalOptions="Center" HorizontalOptions="CenterAndExpand">
                                    <Label Style="{StaticResource labelsfont}" Text="R$" FontSize="Medium" TextColor="White"/>
                                    <Label Style="{StaticResource labelsfont}" Text="{Binding valor}" FontAttributes="Bold" FontSize="Large" TextColor="White"/>
                                </StackLayout>

                            </StackLayout>

                            <StackLayout Margin="0,0,0,10">
                                <Label Text="{Binding nome}" Style="{StaticResource labelsfont}" FontAttributes="Bold" FontSize="Medium" TextColor="White" VerticalOptions="StartAndExpand" HorizontalOptions="Center"/>
                                <ContentView BackgroundColor="Chartreuse" HorizontalOptions="FillAndExpand">
                                    <Label Style="{StaticResource labelsfont}" Text="{Binding observacao}" TextColor="White" Margin="10,10,10,10" HorizontalOptions="Center" />
                                </ContentView>
                            </StackLayout>

                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
InitializeComponent();
fundoColor =  Color.FromHex(this.categEscolhida.corFundo);

共有1个答案

单于皓轩
2023-03-14

您只能与属性绑定-因此必须在代码隐藏类中创建属性。

public Color FundoColor { get { return fundoColor; } }

其次,为了在XAML中引用该属性,可以使用reference扩展名,并将parent指定为source。例如:

<StackLayout x:Name="produtos_stack_color" 
             BackgroundColor="{Binding FundoColor, Source={x:Reference ParentHost}}" ..>

并且,确保在XAML的根节点中设置x:name属性。例如:

<ContentPage x:Name="ParentHost" .. />
 类似资料:
  • 本文向大家介绍Android 在ButterKnife中解除绑定视图,包括了Android 在ButterKnife中解除绑定视图的使用技巧和注意事项,需要的朋友参考一下 示例 片段的视图生命周期与活动不同。在onCreateView中绑定片段时,在onDestroyView中将视图设置为null。当您调用bind为您执行此操作时,Butter Knife会返回Unbinder实例。在适当的生命周

  • 我想知道如何将绑定变量向下传递到滑块视图 如果我将@State更改为@绑定,它会显示很多错误消息,如下所示 无法将“Double”类型的值转换为指定的“Binding”类型 调用中的无关参数标签“wrapedValue:” 无法推断泛型参数“V” 但是,我想让它对该变量具有@Binding,因为我将在另一个视图中使用此视图。 有什么解决办法吗?

  • 我一直在关注YT视频制作测验应用程序,但最终我在绑定时遇到了这个错误: “kotlin android extensions”Gradle插件已被弃用 请使用本迁移指南(https://goo.gle/kotlin-android-extensions-deprecation)开始使用视图绑定的步骤(https://developer.android.com/topic/libraries/vie

  • 本文向大家介绍backbone.js 绑定到现有HTML的视图,包括了backbone.js 绑定到现有HTML的视图的使用技巧和注意事项,需要的朋友参考一下 示例 假设此HTML在页面中: 一个视图可以绑定到它: 浏览器中的HTML现在将显示:            

  • 问题内容: 在我的Javafx应用程序中,我有一个图库。我想做的是,只要文件夹中有可用的图像,它就应该在屏幕上显示该图像。 反正有绑定到中。就像其他任何字符串或属性一样?我可以有一个叫做ImageProperty的东西,它将被绑定到Image上。因此,如果我更改ImageProperty中的图像,它将更新UI 问题答案: 做完了 ImageView具有可以绑定ObjectProperty的Obje

  • 我正在将一个kotlin库绑定到xamarin android,绑定并解决所有错误后,我得到了一个意外错误,没有任何解释或异常原因, JAVALang.NoClassDefFoundError:“未能解析:Landroidx/viewbinding/viewbinding;” 这是我得到的堆栈痕迹: MAYActivity.cs:40在Android。App.活动。n_OnCreate_Landr