【发布时间】:2021-10-18 13:46:46
【问题描述】:
我在 DataTemplate 中有一个控件。当该控件执行 Tapped 命令时,我希望它被隐藏而不必重新加载 ContentPage。
Page1.xaml
<StackLayout x:Name="sss" BindableLayout.ItemsSource="{Binding ....}">
<BindableLayout.ItemTemplate>
<DataTemplate>
<Frame x:Name="follower" IsVisible="{Binding Follow}">
<Label Text="SSSS1" TextColor="#fff" FontSize="11"></Label>
<Frame.GestureRecognizers>
<TapGestureRecognizer Tapped="follower_Tapped"/>
</Frame.GestureRecognizers>
</Frame>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
Page1.xaml.cs
FeedsViewModel feedsViewModel;
public Page1()
{
BindingContext = feedsViewModel = new FeedsViewModel(Navigation);
feedsViewModel.OnAppearing();
}
private void follower_Tapped(object sender, EventArgs e)
{
string a = "s";
//Find Control Frame x:Name="follower" to IsVisible False
.......
}
follow_Tapped 时如何隐藏 Frame x:Name="follower" 控件。谁能帮我解决这个问题?谢谢
【问题讨论】:
-
您不应该直接操作 DataTemplate 中项目的 UI - 您应该使用绑定来设置它们的属性
-
能说的更具体更清楚点吗?谢谢
-
IsVisible已经绑定到Follow属性,所以只需在模型中更改Follow的值,而不是尝试手动修改 UI 元素 -
谢谢,我会再试一次
标签: xamarin