XAML 集合视图内的静态图像不显示Maui

plupiseo  于 2023-08-01  发布在  其他
关注(0)|答案(1)|浏览(118)

当我在资源文件夹中使用静态图像时,我很难在Maui .NET CollectionView中显示图像。
我的图像放在项目的资源文件夹中-

<MauiImage Include="Resources\Images\*" />

字符串
我设置了我的ViewModel,定义了一个Observable Property,并将图像分配给它。我已经测试了一个链接以及路径。
为了让它工作,我必须添加一个图像源到我的模型,并设置它在我的视图模型与一个循环,我想避免这一点。
视图模型:

foreach(var col in collection)
    {
        col.Source = "image.jpg";
    }


我在我的内容页面上使用它:

<ContentView x:Name="WorkNotification"
         xmlns="http://schemas.microsoft.com/dotnet/2021/maui" 
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         xmlns:mct="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
         x:Class="DiME.Controls.WorkNotificationBackLogContentView"
         x:DataType="vm:WorkNotificationBackLogViewModel">
<CollectionView Grid.Row="1" Grid.Column="0" 
                                Grid.ColumnSpan="10" VerticalOptions="FillAndExpand" 
                                x:Name="CollectionViewWorkNotificationsBacklog"
                                ItemsSource="{Binding AllWorkNotificationBacklogData}" BackgroundColor="{DynamicResource Black}">
    <CollectionView.ItemTemplate>
        <DataTemplate x:DataType="models:WorkNotificationBacklog">
            <ContentView BackgroundColor="{DynamicResource Black}">
                <Grid ColumnSpacing="1" RowSpacing="2" MaximumHeightRequest="90" BackgroundColor="{DynamicResource Black}">
                <Grid.RowDefinitions>
                    <RowDefinition Height="50" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Image Grid.Column="0" Source="{Binding Source}" Style="{StaticResource CustomButtonStyle}">
                        <Image.GestureRecognizers>
                            <TapGestureRecognizer Command="{Binding BindingContext.GetAttachCommand, Source={x:Reference WorkNotification}}" CommandParameter="{Binding Qmnum}" />
                        </Image.GestureRecognizers>
                    </Image>
                </Grid>
            </ContentView>
        </DataTemplate>    
    </CollectionView.ItemTemplate>
</CollectionView>
</ContentView.Content>
</ContentView>


我想在我的基本视图模型中使用一个静态图像,并在我的XAML代码中使用它,但什么也没有出现-所以我想知道这是否是不可能的。还是我绑定的数据不正确?

<Image Grid.Column="0" Source="{Binding Source, Source={x:Reference WorkNotification}}" Style="{StaticResource CustomButtonStyle}">

ep6jt1vc

ep6jt1vc1#

经过一番思考,我最终通过使用BindingContext与

<Image Grid.Column="0" Source="{Binding BindingContext.Source, Source={x:Reference WorkNotification}}" Style="{StaticResource CustomButtonStyle}">
     </Image.GestureRecognizers>
</Image>

字符串

相关问题