我有以下代码:
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?
是否有此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的原因,但显然有些人将它用于Horizontal StackPanel(在这种情况下,你应该将StackPanel设置Orientation为Horizontal......)
我在向共享项目添加dll引用时遇到问题.如下图所示,我有一个通用解决方案,包含一个用于Windows的项目和一个用于Windows Phone的项目.

在HubApp1.Shared项目中,我需要为Class.cs中的一些代码添加引用.我将在Windows项目和Windows Phone项目中使用Class.cs.我已经搜索了Bing如何解决这个问题,我找不到任何东西.
我有一个自定义标题栏,窗口样式设置为无.在单击标题栏时,我检查是否是双击(如果窗口最大化并恢复),如果不是双击我做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#7 ValueTuple,如果是,则循环遍历每个项目.我试着用检查obj is ValueTuple和obj 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) 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) 我们一直使用旧版本(XAML)的版本直到一个月前,然后开始使用vNext版本.之后我发现TFS数据库中的tbl_Content表开始增长非常快.例如,在过去8小时内,它增长了10 GB,我无法弄清楚它为什么会这样做.有谁知道它是什么?
我说它是vNext构建的原因是因为我注意到它在我们升级之后开始增长,但我的方式是错的.我希望它不是试图存储我的构建输出或类似的东西.有没有办法知道tbl_Content表中的内容?他们可以删除吗?或者有没有办法从该表中删除一些东西而不会弄乱TFS?
设置WindowSoftInputMode为后,我们在 Android 中遇到了问题Android.Views.SoftInput.AdjustResize。当键盘显示或隐藏时,我们的启动画面会在键盘动画的正上方闪烁。这是非常烦人和刺耳的。
这是它的一个剪辑,你可以看到飞溅在后面偷看。

android xamarin.android android-activity xamarin xamarin.forms
当我单击“运行所有.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
问题是什么?
我希望我的Windows 10通用应用程序中的所有文本框能够在聚焦时自动选择所有文本.很像这里(WPF).这可能在UWP中吗?
c# ×6
uwp ×4
xaml ×4
.net ×2
.net-core ×1
android ×1
azure-devops ×1
build ×1
datagrid ×1
mstest ×1
pull-request ×1
tfs ×1
titlebar ×1
unit-testing ×1
valuetuple ×1
window ×1
windows ×1
windows-10 ×1
wpf ×1
xamarin ×1