簡體   English   中英

具有TimeSpanPicker支持的可單擊TextBlock

[英]Clickable TextBlock with TimeSpanPicker support

我想實現一個TimeSpanPicker ,但不是用Textbox的通用方式。 我考慮使Textblock可單擊,因此,如果單擊/點擊它,則會出現TimeSpanPicker。 我這樣嘗試過,但這不起作用:

    private void tb_Timer_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        TimeSpan TimeSpanDuration = TimeSpan.FromMilliseconds(status.duration);
        TimeSpanPicker timeSpanPicker = new TimeSpanPicker();
        timeSpanPicker.Max = new TimeSpan(TimeSpanDuration.Hours, TimeSpanDuration.Minutes, TimeSpanDuration.Seconds);
        timeSpanPicker.Step = new TimeSpan(0, 0, 1);
    }

我沒有通過Google找到任何東西,也沒有show()這樣的事件。 這有可能嗎?

提前致謝!

好的,所以我問了一些人,得到了另一個答案,盡管它不是很優雅。 您可以執行以下操作:

在XAML中:

xmlns:c4fToolkit="clr-namespace:Coding4Fun.Phone.Controls.Toolkit;assembly=Coding4Fun.Phone.Controls.Toolkit" 

<c4fToolkit:TimeSpanPicker x:Name="_TimeSpanPicker" Visibility="Collapsed" Width="0" Height="0" ValueChanged="_TimeSpanPicker_ValueChanged" />
<Button x:Name="DateTimeButton" Content="Button" Height="72" HorizontalAlignment="Left" Margin="68,428,0,0" VerticalAlignment="Top" Width="160" Click="DateTimeButton_Click" />

在C#中:

using Coding4Fun.Phone.Controls.Toolkit;
private void DateTimeButton_Click(object sender, RoutedEventArgs e)
{
    TimeSpan TimeSpanDuration = TimeSpan.FromMilliseconds(status.duration);
    _TimeSpanPicker.Max = new TimeSpan(TimeSpanDuration.Hours, TimeSpanDuration.Minutes, TimeSpanDuration.Seconds);
    _TimeSpanPicker.Step = new TimeSpan(0, 0, 1);
    _TimeSpanPicker.OpenPicker();
}

private void _TimeSpanPicker_ValueChanged(object sender, ValueChangedEventArgs<TimeSpan> e)
{
    MessageBox.Show(_TimeSpanPicker.Value.ToString());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM