在XAML中跳出后,如何从日历文本框中删除datetime中的时间

如何解决在XAML中跳出后,如何从日历文本框中删除datetime中的时间

|| 下面的代码在.Net 3.5中工作正常,但在.Net 4.0中,分页后在日历文本框上出现了一段时间。当焦点位于日历文本框上时,时间将不显示。仅在跳出时间后才出现,如下图所示。我不希望时间参与其中。 使用的代码如下:
<jkdp:XamDateTimeEditor Grid.Row=\"1\"
                        Grid.Column=\"1\"
                        KeyboardNavigation.TabIndex=\"1\"
                        InvalidValueBehavior=\"RetainValue\"
                        gcb:CommandBehavior.Event=\"LostFocus\"
                        gcb:CommandBehavior.Command=\"{Binding EndDateChangedCommand}\"
                        Style=\"{DynamicResource XamDateTimeEditor.SimpleStyle}\"
                        Text=\"{Binding EndDate,Mode=TwoWay,NotifyOnSourceUpdated=true}\" >

<Style x:Key=\"XamDateTimeEditor.SimpleStyle\"
       targettype=\"{x:Type igdEd:XamDateTimeEditor}\"
       BasedOn=\"{StaticResource XamDateTimeEditor.DefaultFromStyle}\">
    <Setter Property=\"Height\"
            Value=\"22\" />
    <Setter Property=\"Width\"
            Value=\"150\" />
    <Setter Property=\"Margin\"
            Value=\"10,10,0\" />
    <Setter Property=\"VerticalAlignment\"
            Value=\"Center\" />
    <Setter Property=\"HorizontalAlignment\"
            Value=\"Left\" />
    <Setter Property=\"ContextMenu\"
            Value=\"{StaticResource CutcopyPasteEditorStyle}\" />

    <Setter Property=\"vw:InputBindingBehavIoUr.EnableErrorToolTip\"
            Value=\"True\" />
    <Setter Property=\"Focusable\"
            Value=\"False\"></Setter>
    <Setter Property=\"KeyboardNavigation.IsTabStop\"
            Value=\"False\"></Setter>

    <Setter Property=\"Template\">
        <Setter.Value>
            <ControlTemplate>
                <Grid Focusable=\"False\"
                      KeyboardNavigation.IsTabStop=\"False\">
                    <Grid.ColumnDeFinitions>
                        <ColumnDeFinition Width=\"*\" />
                        <ColumnDeFinition Width=\"Auto\" />
                    </Grid.ColumnDeFinitions>
                    <TextBox Name=\"PART_TextBox\"
                             Grid.Column=\"0\"
                             VerticalAlignment=\"Center\"
                             Focusable=\"True\"
                             KeyboardNavigation.IsTabStop=\"True\"
                             Margin=\"0,2,0\"
                             Text=\"{Binding Path=Text,UpdateSourceTrigger=PropertyChanged,RelativeSource={RelativeSource TemplatedParent}}\"
                             ContextMenu=\"{Binding Path=ContextMenu,Mode=OneWay,RelativeSource={RelativeSource TemplatedParent}}\" />
                    <TextBlock Name=\"PART_TextBlock\"
                               Grid.Column=\"0\"
                               Focusable=\"False\"
                               KeyboardNavigation.IsTabStop=\"False\"
                               VerticalAlignment=\"Center\"
                               HorizontalAlignment=\"Left\"
                               Margin=\"3,0\"
                               Text=\"{Binding Path=NullText,RelativeSource={RelativeSource TemplatedParent}}\"
                               Visibility=\"{Binding Path=Text,RelativeSource={RelativeSource TemplatedParent},Converter={StaticResource NullConverter},ConverterParameter=Visibility}\" />
                    <ToggleButton Grid.Column=\"1\"
                                  Focusable=\"False\"
                                  KeyboardNavigation.IsTabStop=\"False\"
                                  MinWidth=\"{Binding Path=ActualHeight,RelativeSource={RelativeSource Self}}\"
                                  IsChecked=\"{Binding Path=IsDropDownopen,RelativeSource={RelativeSource TemplatedParent}}\">
                        <Image Source=\"Calendar.bmp\"
                               Focusable=\"False\"
                               KeyboardNavigation.IsTabStop=\"False\"
                               Margin=\"2\" />
                    </ToggleButton>
                </Grid>
                <ControlTemplate.Triggers>
                    <DataTrigger Binding=\"{Binding Path=Text,Converter={StaticResource NullConverter}}\"
                                 Value=\"True\">
                        <Setter TargetName=\"PART_TextBox\"
                                Property=\"Visibility\"
                                Value=\"Collapsed\" />
                    </DataTrigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property=\"EditTemplate\">
        <Setter.Value>
            <ControlTemplate targettype=\"{x:Type igdEd:XamDateTimeEditor}\">
                <Grid   Focusable=\"False\"
                        KeyboardNavigation.IsTabStop=\"False\">
                    <Grid.ColumnDeFinitions>
                        <ColumnDeFinition Width=\"*\" />
                        <ColumnDeFinition Width=\"Auto\" />
                    </Grid.ColumnDeFinitions>
                    <igdEd:XamDateTimeEditor x:Name=\"PART_DateTimeEditor\"
                                             BorderThickness=\"0\"
                                             Background=\"Transparent\"
                                             Focusable=\"False\"
                                             KeyboardNavigation.IsTabStop=\"False\"
                                             Grid.ColumnSpan=\"2\"
                                             Theme=\"{Binding Path=Theme,Mode=OneTime,RelativeSource={RelativeSource TemplatedParent}}\"
                                             NullText=\"{Binding Path=NullText,RelativeSource={RelativeSource TemplatedParent}}\"
                                             DataMode=\"{Binding Path=DataMode,RelativeSource={RelativeSource TemplatedParent}}\"
                                             InvalidValueBehavior=\"{Binding Path=InvalidValueBehavior,RelativeSource={RelativeSource TemplatedParent}}\"
                                             IsDropDownopen=\"{Binding Path=IsChecked,ElementName=PART_ToggleButton,Mode=TwoWay}\"
                                             Text=\"{Binding Path=Text,RelativeSource={RelativeSource TemplatedParent}}\"
                                             Value=\"{Binding Path=Value,RelativeSource={RelativeSource TemplatedParent}}\"
                                             ValueConstraint=\"{Binding Path=ValueConstraint,RelativeSource={RelativeSource TemplatedParent}}\"
                                             ContextMenu=\"{Binding Path=ContextMenu,RelativeSource={RelativeSource TemplatedParent}}\" />
                    <vw:CommitTextBox x:Name=\"PART_FocusSite\"
                             Grid.Column=\"0\"
                             Focusable=\"True\"
                             KeyboardNavigation.IsTabStop=\"True\"
                             MaxLength=\"10\"
                             Margin=\"0,UpdateSourceTrigger=LostFocus,Converter={StaticResource DateTimeConverter},ConverterParameter=DateFromStyle,RelativeSource={RelativeSource TemplatedParent}}\" 
                             Style=\"{StaticResource TextBox.normalStyle}\"/>
                    <ToggleButton x:Name=\"PART_ToggleButton\"
                                  Grid.Column=\"1\"
                                  Focusable=\"False\"
                                  KeyboardNavigation.IsTabStop=\"False\"
                                  MinWidth=\"{Binding Path=ActualHeight,RelativeSource={RelativeSource TemplatedParent}}\">
                        <ToggleButton.Content>
                            <Image   Focusable=\"False\"
                                     KeyboardNavigation.IsTabStop=\"False\"
                                     Source=\"Calendar.bmp\"
                                     Margin=\"2\" />
                        </ToggleButton.Content>
                    </ToggleButton>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
    

解决方法

        我在这台机器上没有DLL可以验证我的答案,但是根据Infragistics的帮助,您应该将Mask属性设置为{date}。如果我从这里正确理解,它应该看起来像这样:
<jkdp:XamDateTimeEditor 
                    .....
                    Mask=\"{}{date}\"
                    ..... />
如果要对使用此样式的所有控件使用相同的Mask,请将此setter添加到样式中:
<Setter Property=\"Mask\" Value=\"{}{date}\"/>
这将迫使编辑者使用应用程序区域性所定义的短日期掩码。您可以根据MSDN的“自定义日期和时间格式字符串”中说明的StringFormat约定设计自己的掩码。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?