我只想使用选择器对话框(如下所示)
从Windows Phone的Silverlight工具包中包含的TimePicker控件中获取。通常,此对话框仅在用户单击TimePicker控件列表框时出现。
我想完全绕过列表框,并在按下按钮时启动选择器对话框。
这是可能的还是我必须为自己创建一个自定义控件。
最佳答案
创建从TimePicker
继承的类,并使用ClickTemplateButton()
模拟点击行为:
public class CustomPicker : TimePicker
{
public void ClickTemplateButton()
{
Button button = (GetTemplateChild("DateTimeButton") as Button);
ButtonAutomationPeer peer = new ButtonAutomationPeer(button);
IInvokeProvider provider = (peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider);
provider.Invoke();
}
}
创建此类后,在xaml中创建
CustomPicker
。不要忘记添加xmlns xmlns:local="clr-namespace:CustomPickerNamespace"
<local:CustomPicker x:Name="customPicker" .../>
然后调用即可从代码中显示它:
customPicker.ClickTemplateButton()
关于c# - 没有文本框的TimePicker,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8847367/