c# - 视图中的 Xamarin MainPage DatePicker 参考
问题描述
非常简单,我的 MainPage 中有一个 Datepicker,其 x:Name 为“TheDate”,如何在 ViewPage.xaml.cs 中引用它。
MainPage.Xaml 代码:
<StackLayout Orientation="Horizontal" HorizontalOptions="StartAndExpand" Padding="10" Margin="0, 20, 0, 20">
<Label Text="Date" WidthRequest="384" FontSize="24"/>
<DatePicker x:Name="TheDate" WidthRequest="384" FontSize="24" Margin="0, -10, 0, 0" />
</StackLayout>
AccordionView.Xaml.cs 代码:
public async void SaveButton_Clicked(object sender, EventArgs e)
{ //WANT TO ADD THE THEDATE HERE }
解决方案
TL/DR:你不能。
长版:您不应该这样做,但还有另一种方式:您有一个视图 ( AccordionView
),它位于您的MainPage
. 虽然在技术上可能可以添加对 的引用,TheDate
但AccordionView
我认为不要这样做。这将AccordionView
取决于其父级的实现细节,这很可能是一个坏主意。
无论如何,你能做的——如果有意义的话,你AccordionView
有一个Date
- 就是在你BindableProperty
的DateTime
AccordionView
// Within AccordionView.xaml.cs
public static BindableProperty DateProperty = BindableProperty.Create(nameof(Date), typeof(DateTime), typeof(AccordionView), default(DateTime));
public DateTime Date
{
get => (DateTime)GetValue(DateProperty);
set => SetValue(DateProperty, value);
}
现在您可以DatePicker
从您的MainPage.xaml
<controls:AccordionView Date="{Binding Source={x:Reference TheDate}, Path=Date}" ...>
推荐阅读
- java - Java math.random 查询、取整(概念理解)
- ios - 使用 Core Data 提供的数据(在 SwiftUI 中)并与另一个视图共享
- c# - 如何获取登录用户的 id
- c# - 从第 3 方 API(支付网关)重定向后丢失会话数据
- javascript - Selenium NodeJS中如何依次调用URL并获取每个URL的页面源
- postgresql - 如果您不知道 postgresql 中的表/视图,有没有办法删除它?
- java - 在 mvn install 之后,我在外部库中看不到 jars
- azure - 如何根据请求的输入查询参数跳过 Azure B2C 自定义策略的用户旅程中的一个步骤
- saucelabs - 尝试将 .ipa 文件上传到 saucelabs 时出错
- powershell - Get-ADPrincipalGroupmembership :由于内部错误,服务器无法处理请求