我正在开发一个 Windows Phone 应用程序。在那我想要一个功能,如果一个文本框获得焦点日期选择器应该被打开。同样,另一个文本框将触发时间选择器。
我搜索并发现这可以通过编写自定义日期/时间选择器来实现。我成功地让时间选择器以这种方式工作,但是当我尝试为日期选择器实现相同的方法时,我得到了以下异常。
"Error HRESULT E_FAIL has been returned from a call to a COM component."
时间和日期选择器的 XAML 代码如下。
<popUps:CustomTimePicker x:Name="timePicker" Visibility="Collapsed" Value="{Binding SelectedTime, Converter={StaticResource dateTimeConverter}, Mode=TwoWay}" />
<popUps:CustomDatePicker x:Name="datePicker" Visibility="Collapsed" />
我为此编写的自定义日期选择器类是
class CustomDatePicker : DatePicker
{
public void ClickDateTemplateButton()
{
ApplyTemplate();
Button button = (GetTemplateChild("DateTimeButton") as Button);
if (button != null)
{
ButtonAutomationPeer peer = new ButtonAutomationPeer(button);
if (peer != null)
{
IInvokeProvider provider = (peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider);
if (provider != null)
{
provider.Invoke();
}
}
}
}
}
请帮我找出哪里出错了。谢谢。