小编Jam*_*Esh的帖子

检测KeyRoutedEventArgs事件中是否按下了修改键

我有以下代码:

public void tbSpeed_KeyDown(object sender, KeyRoutedEventArgs e)
{
    e.Handled = !((e.Key >= 48 && e.Key <= 57) || (e.Key >= 96 && e.Key <= 105) || (e.Key == 109) || (e.Key == 189));
}
Run Code Online (Sandbox Code Playgroud)

有没有办法检测是否正在按任何修改键如Shift?

.net c# xaml windows-runtime uwp

12
推荐指数
2
解决办法
5793
查看次数

UWP WrapPanel更换?

是否有此WPF代码的替代品?

<WrapPanel>
    <TextBlock Width="100" Height="20"/>
    <TextBlock Width="30" Height="50"/>
    <TextBlock Width="150" Height="70"/>                    
</WrapPanel>
Run Code Online (Sandbox Code Playgroud)

如果没有,这真是太愚蠢了......

更新:

我忘了提到WrapPanel的宽度小于所有TextBlocks组合的总宽度.这意味着某些项目需要换行到第二行.

我认为这是大多数人使用WrapPanel的原因,但显然有些人将它用于Horizo​​ntal StackPanel(在这种情况下,你应该将StackPanel设置OrientationHorizontal......)

c# xaml uwp

12
推荐指数
2
解决办法
5861
查看次数

在共享(.shproj)项目中添加引用

我在向共享项目添加dll引用时遇到问题.如下图所示,我有一个通用解决方案,包含一个用于Windows的项目和一个用于Windows Phone的项目.

解

在HubApp1.Shared项目中,我需要为Class.cs中的一些代码添加引用.我将在Windows项目和Windows Phone项目中使用Class.cs.我已经搜索了Bing如何解决这个问题,我找不到任何东西.

c# windows xaml windows-phone win-universal-app

11
推荐指数
1
解决办法
5956
查看次数

C#| WPF - 自定义标题栏 - 最大化时从顶部拖动窗口不起作用

我有一个自定义标题栏,窗口样式设置为无.在单击标题栏时,我检查是否是双击(如果窗口最大化并恢复),如果不是双击我做Window.DragMove.这适用于侧面和顶部的卡扣.但是当我尝试在窗口最大化时拖动窗口(通常会将窗口恢复原状),它什么都不做.这是我的代码:

    static Window Window { get { return Application.Current.MainWindow; } }

    /// <summary>
    /// TitleBar_MouseDown - Drag if single-click, resize if double-click
    /// </summary>
    private static void TitleBar_MouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.ChangedButton == MouseButton.Left)
        {
            if (e.ClickCount == 2)
            {
                AdjustWindowSize();
            }
            else
            {
                Window.DragMove();//Here is where I do the drag move
            }
        }
    }

    /// <summary>
    /// Adjusts the WindowSize to correct parameters when Maximize button is clicked
    /// </summary>
    internal static void AdjustWindowSize()
    { …
Run Code Online (Sandbox Code Playgroud)

c# wpf customization window titlebar

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

检测对象是否为ValueTuple

我有一个用例,我需要检查一个值是否是C#7 ValueTuple,如果是,则循环遍历每个项目.我试着用检查obj is ValueTupleobj is (object, object)但是这两个的返回false.我发现我可以使用obj.GetType().Name并检查它是否以它开头,"ValueTuple"但这对我来说似乎很蹩脚.任何替代品都会受到欢迎.

我也有获得每个项目的问题.我尝试Item1使用此处找到的解决方案:如何检查c#中动态匿名类型上是否存在属性?((dynamic)obj).GetType().GetProperty("Item1")返回null.我希望我能做一件事while来获得每件物品.但这不起作用.我如何获得每件商品?

更新 - 更多代码

if (item is ValueTuple) //this does not work, but I can do a GetType and check the name
{
    object tupleValue;
    int nth = 1;
    while ((tupleValue = ((dynamic)item).GetType().GetProperty($"Item{nth}")) != null && //this does not work
        nth <= 8)      
    {
        nth++;
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# valuetuple

10
推荐指数
3
解决办法
1700
查看次数

有没有一种方法可以轻松自定义DataGrid列标题?

UWP Community Toolkit DataGrid在列标题中为排序图标保留了一些空间,这使事情看起来真的很奇怪。当您不使用排序(甚至是无法排序的列)时,数据网格列标题中还有35px的空白空间。如果使列宽变小,它会在真正需要时很早就切断标题文本。

我制定了一个解决方案,方法是在加载标头之后获取标头,遍历可视化树,然后手动分配所需的属性,但是这似乎需要大量工作,并且如果模板发生更改,该标头会中断。

有一个更好的方法吗?

文字被截断

我现在如何修改标题:

var mainPanel = (Windows.UI.Xaml.Controls.Grid)VisualTreeHelper.GetChild(header, 0);
if (mainPanel != null)
{
    var contentPanel = (Windows.UI.Xaml.Controls.Grid)VisualTreeHelper.GetChild(mainPanel, 1);
    contentPanel.ColumnDefinitions[1].MinWidth = 0;

    var fontIcon = (FontIcon)VisualTreeHelper.GetChild(contentPanel, 1);
    fontIcon.Margin = new Thickness(2, 0, 2, 0);
    fontIcon.SetBinding(UIElement.VisibilityProperty,//hide it instead of using opacity
        new Binding()
        {
            Source = fontIcon,
            Path = new PropertyPath(nameof(FontIcon.Opacity)),
            Converter = new ShowSortingIconValueConverter()
        });

    SetCustomizeHeader(header, false);
}
Run Code Online (Sandbox Code Playgroud)

datagrid uwp windows-community-toolkit

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

如何更改拉取请求的分配对象

我想更改分配给拉取请求的人员。我创建了拉取请求,但我想将其更改为其他人。我可以在 Azure DevOps 中做到这一点吗?

在此输入图像描述

pull-request azure-devops

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

使用VNext构建后,TFS tbl_Content开始快速增长

我们一直使用旧版本(XAML)的版本直到一个月前,然后开始使用vNext版本.之后我发现TFS数据库中的tbl_Content表开始增长非常快.例如,在过去8小时内,它增长了10 GB,我无法弄清楚它为什么会这样做.有谁知道它是什么?

我说它是vNext构建的原因是因为我注意到它在我们升级之后开始增长,但我的方式是错的.我希望它不是试图存储我的构建输出或类似的东西.有没有办法知道tbl_Content表中的内容?他们可以删除吗?或者有没有办法从该表中删除一些东西而不会弄乱TFS?

tfs build

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

SoftInput.AdjustResize 导致键盘在显示或隐藏时闪烁

设置WindowSoftInputMode为后,我们在 Android 中遇到了问题Android.Views.SoftInput.AdjustResize。当键盘显示或隐藏时,我们的启动画面会在键盘动画的正上方闪烁。这是非常烦人和刺耳的。

这是它的一个剪辑,你可以看到飞溅在后面偷看。

android xamarin.android android-activity xamarin xamarin.forms

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

.NET Core MSTests由于“路径中包含非法字符”而失败

当我单击“运行所有.NET Core测试(MSTest版本)”时,它们不会运行。它无法在左下角说“检测到意外错误。请检查测试输出窗格以了解详细信息”。

我检查了输出,这是错误的:

[4/8/2018 19:29:53信息性] ------已开始运行测试------ [4/8/2018 19:29:53错误] System.ArgumentException:路径中的字符非法。

我创建了一个空白项目“ Thing.Tests”。路径是

C:\ Users \ james \ OneDrive \ Documents \ visual studio 2017 \ Projects \ Thing.Tests \ Thing.Tests \ Thing.Tests.csproj

问题是什么?

unit-testing mstest .net-core

4
推荐指数
1
解决办法
790
查看次数

在TextBox中为app中的所有文本框选择所有文本

我希望我的Windows 10通用应用程序中的所有文本框能够在聚焦时自动选择所有文本.很像这里(WPF).这可能在UWP中吗?

c# xaml windows-10 uwp

2
推荐指数
1
解决办法
1530
查看次数