小编bij*_*iju的帖子

如何在XAML中格式化TimeSpan

我正在尝试格式化绑定到TimeSpan属性的文本块.如果属性是类型DateTime但它失败,如果它是a,它可以工作TimeSpan.我可以使用转换器完成它.但我试图找出是否有其他选择.

示例代码:

public TimeSpan MyTime { get; set; }

public Window2()
{
    InitializeComponent();
    MyTime = DateTime.Now.TimeOfDay;
    DataContext = this;
}
Run Code Online (Sandbox Code Playgroud)

XAML

<TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/>
Run Code Online (Sandbox Code Playgroud)

我希望文本块只显示小时和分钟.但它显示为:

19:10:46.8048860

c# data-binding wpf xaml string-formatting

88
推荐指数
9
解决办法
7万
查看次数

如果data为null,如何隐藏stringformat

如何在数据不存在时隐藏字符串格式.请考虑此示例

<TextBlock Text="{Binding Amount, StringFormat=Total: {0:C}}" />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果Amount为null,那么它将只显示Total:.如果Amount为null或为空,如何隐藏它

data-binding wpf binding string-formatting targetnullvalue

15
推荐指数
3
解决办法
1万
查看次数

双击WPF DataGrid时显示RowDetails

目前,当我点击一行时,我的DataGrid会显示RowDetails.但我想只在双击时显示RowDetails.

解决这个问题的任何想法?

谢谢!

.net wpf wpfdatagrid

13
推荐指数
1
解决办法
1万
查看次数

WPF datagrid:如何自动用'n/a'替换空值?

我有一个数据网格绑定到可空属性.对于DataGridTextColumn中的空值,而不是显示空单元格,我想显示'n/a'.可能吗?

c# wpf datagrid

9
推荐指数
1
解决办法
5645
查看次数

如何在wpf treeview上对齐按钮

嗨,我正在寻找一种方法来对齐我的树视图中的按钮,以便它看起来像在同一列中,即使它在任何级别.例如:

Item1 [Button]
 Item2 [Button]
Item3[Button]
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像

Item1  [Button]
 Item2 [Button]
Item3  [Button]
Run Code Online (Sandbox Code Playgroud)

我能做到这一点的任何方式..?

wpf treeview

8
推荐指数
1
解决办法
2979
查看次数

如何阻止Wpf Tabcontrol在Tab更改时卸载Visual Tree

嗨我的用户控件放在选项卡中每次更改选项卡时都会被卸载和加载.它会在应用程序中创建一些不必要的延迟.我正在寻找一些方法来修复这种行为.我知道我必须继承tabcontrol来改变这种行为但是如何..?

wpf tabcontrol

8
推荐指数
1
解决办法
7366
查看次数

重置DataTable中的AutoIncrement

DataSet用a 填充DataAdapterSQL CE数据库.数据显示在DataGrid绑定到DataSet的DataTable的数据上.PRIMARY KEY IDENTITY我的DataSource中有一个自动递增ID字段(或在SQLCE中,称为); 相应地,我还在我的设置中设置了一个AutoIncrement ID列DataTable.

/* when DataTable is first populated, start counting from Rows.Count */
/* if empty, starts with 1 */
dt.Column["id"].AutoIncrementSeed = dt.Rows.Count + 1;
Run Code Online (Sandbox Code Playgroud)

当我清除DataTable时出现问题.我想将AutoIncrement Counter重置为1但不能,我尝试了以下方法:

/* clearing and disposing DataTable, DataSet, DataAdaptor does not reset the counter */
dt.Clear();
dt.Dispose();
ds.Clear();
ds.Dispose()
da.Dispose()

/* manually re-setting the AutoIncrementSeed also does not reset the counter */
dt.Column["id"].AutoIncrementSeed = 1;
Run Code Online (Sandbox Code Playgroud)

它只是离开了它之前停止的柜台Clear().如何重置DataTable中的AutoIncrement?

c# datatable

6
推荐指数
1
解决办法
1万
查看次数

如何获取应用程序名称以打开列表显示?

这是我的问题的延续在这里.我正在为类型*.bmp创建一个打开列表.根据该问题的答案,我已经创建了一个打开的应用程序列表,其中包含注册表项中的列表.

   public void RecommendedPrograms(string ext)
    {


        string baseKey = @"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\." + ext;

        using (RegistryKey rk = Registry.CurrentUser.OpenSubKey(baseKey + @"\OpenWithList"))
        {
            if (rk != null)
            {
                string mruList = (string)rk.GetValue("MRUList");
                if (mruList != null)
                {
                    foreach (char c in mruList.ToString())
                    {
                        string str=rk.GetValue(c.ToString()).ToString();
                        if (!progs.Contains(str))
                        {
                            progs.Add(str);
                        }
                    }
                }
            }
        }

        using (RegistryKey rk = Registry.CurrentUser.OpenSubKey(baseKey + @"\OpenWithProgids"))
        {
            if (rk != null)
            {
                foreach (string item in rk.GetValueNames())
                    progs.Add(item);
            }
        }

        using (RegistryKey rk = Registry.ClassesRoot.OpenSubKey("." + …
Run Code Online (Sandbox Code Playgroud)

c# registry wpf open-with

6
推荐指数
1
解决办法
4407
查看次数

javascript中具有相同名称的函数

我试图在js文件上编写一个函数,并在页面中使用相同的名称编写另一个函数.我期待一个错误,但没有错误来了,我只得到js文件中的函数来执行.这是可能的.即使我是在一个单独的js文件中编写一个函数,一切都在一个单独的html文件中呈现.然后怎么可能

<script type="text/javascript" language="javascript" src="JScript.js" />
<script language="javascript">
    function Boo()
     {
        alert("Hai new");
    }
</script>

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:Button runat=server OnClientClick="Boo();" Text="Click" />
    </div>
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

并在js文件中

function Boo() {
    alert("Hai");
}
Run Code Online (Sandbox Code Playgroud)

html javascript asp.net

5
推荐指数
1
解决办法
6313
查看次数

contentpresenter.content上的Datatrigger无法正常工作

我正在尝试基于datatrigger切换contentpresenter的内容.我想在contentpresenter.content中显示usercontrol,如果我有值集,或者我需要显示错误消息.但是我的datatrigger上的绑定失败声明找不到该属性.我无法获取datacontext继承数据触发器检查.我可以通过使用注释掉的代码使其工作.但我很困惑为什么它不能正常工作.

  <ContentPresenter.Style>
            <Style TargetType="{x:Type ContentPresenter}">
                  <Setter Property="Content" Value="{Binding UC}"/>
                <Style.Triggers>
                    <!--<DataTrigger Binding="{Binding DataContext.HasValue,RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}}}" Value="false">
                        <Setter Property="Content" Value="No preview"/>
                    </DataTrigger>-->
                    <DataTrigger Binding="{Binding HasValue}" Value="false">
                        <Setter Property="Content" Value="No value"/>
                    </DataTrigger> 

                </Style.Triggers> 

            </Style>
        </ContentPresenter.Style>
    </ContentPresenter>
Run Code Online (Sandbox Code Playgroud)

wpf datatrigger

4
推荐指数
2
解决办法
3566
查看次数