我的 collectionView 中有这段代码:
<RefreshView>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="60" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<CollectionView
ItemsSource="{Binding Comments}"
SelectionMode="Single">
<CollectionView.ItemsLayout>
<LinearItemsLayout Orientation="Vertical" ItemSpacing="5" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="model:Comment">
<Frame Style="{StaticResource CardView}" CornerRadius="10">
<Grid RowDefinitions="Auto, Auto, Auto, *" ColumnDefinitions="80, 250" ColumnSpacing="5">
...
</Grid>
</Frame>
</DataTemplate>
</CollectionView.ItemTemplate>
<CollectionView.EmptyView>
<ContentView>
<StackLayout>
<Label
Text="Some text here"
HorizontalOptions="Fill"
HorizontalTextAlignment="Center" />
</StackLayout>
</ContentView>
</CollectionView.EmptyView>
</CollectionView>
<Button
...
</Button>
<Button
...
</Button>
</Grid>
</RefreshView>
Run Code Online (Sandbox Code Playgroud)
奇怪的行为......当我用空集合启动程序时,当然,我看到......什么也没有。无标签。
运行时,我稍微更改文本,无论如何,我在末尾插入一个*,例如:Text =“Some text gone here *”,瞧,突然我的文本在中间正确显示我的屏幕 - 预期的行为!
我在模拟器和Android本地设备中都尝试过。同样的行为。 …
我在这里很绝望。我的截止日期即将到来,而我的 VisualStudio 现在完全混乱了。
直到今天早上,我的开发机器上的“Pixel5 - API 33”下有几个 MAUI 解决方案运行良好。
我的错 - 我有可怕的灵感接受 Visual Studio 2022 提出的更新,因此从 Visual Studio 版本 I-Don't-Remember-Which-Version-I-Had 到版本 17.8.0
现在,我以前的所有 MAUI 解决方案都将无法工作 - 它们无法在 Visual Studio 中作为 MAUI 应用程序运行。项目属性甚至不包含所需的部分。
我只能将旧的 MAUI 应用程序作为 Windows 机器运行,而不能运行其他任何东西。
我已经开始了一个新的虚拟 MAUI 项目,完全不做任何事情,你知道,模板,并且它具有与我之前的 MAUI 项目完全不同的属性。对于这个,我可以看到 Pixel5 - API 33、Windows 机器、Android 模拟器、iOS 本地设备、iOS 模拟器等 - 整个列表,你知道。
但对于我的“旧”MAUI 应用程序(从今天早上开始“旧”)我只能看到 Windows 机器。当然,它们的属性页面现在完全不同了。
发生了什么 ?Visual Studio 更新是否搞乱了我的解决方案?我确信有。我在 Notepad++ 中比较了两个 sln 文件,但找不到差异。
这就是我对 MAUI 应用程序的所有选择:
这些是所需的选择:
现在这些是我的项目属性:
这些是我应该拥有的项目属性: