【问题标题】:How to set a TimeSpan in Xaml如何在 Xaml 中设置时间跨度
【发布时间】:2013-09-12 05:41:16
【问题描述】:

我无法在我的依赖对象上设置来自 xaml 的 TimeSpan 类型的属性,我正在寻找是否有办法让它工作。

Xaml: <local:MyDependencyObject Time="00:00:05"/>

Time 是 TimeSpan 类型的依赖属性。 请告诉我如何在 xaml 中设置类型 (TimeSpan) 的依赖属性。

【问题讨论】:

标签: silverlight silverlight-4.0 silverlight-5.0


【解决方案1】:

TotalMinutesDouble,但 D format specifier 仅支持整数类型,例如 Int32{}{0:D1} h {1:D1} min ({2} min) 这样的格式字符串应该可以工作。

试试这个方法:

 <TextBlock>
        <TextBlock.Text>
            <MultiBinding StringFormat="{}{0:D2}:{1:D2}">
                <Binding Path="MyTime.Hours" />
                <Binding Path="MyTime.Minutes" />
            </MultiBinding>
        </TextBlock.Text>
    </TextBlock>

【讨论】:

    【解决方案2】:

    我是从后面的代码中做到的。

    public partial class MainPage : UserControl
    {
        public MainPage()
        {
            InitializeComponent();
    
            MessageBox.Show(IsSpinning.ToString());
    
        }
        public static readonly DependencyProperty IsSpinningProperty =
    DependencyProperty.Register(
    "IsSpinning", typeof(TimeSpan),
    typeof(TimeSpan), null
    );
    
        public TimeSpan IsSpinning
        {
            get { return (TimeSpan)GetValue(IsSpinningProperty); }
            set { SetValue(IsSpinningProperty, value); }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2014-12-13
      • 1970-01-01
      • 2017-01-03
      • 2011-07-06
      • 1970-01-01
      • 2019-01-02
      • 2015-10-01
      • 2013-05-04
      相关资源
      最近更新 更多