小编Yog*_*esh的帖子

如何在c#linq中找到集合的最小差异对象

我有收藏

Class MyData
{
 int f1;
 int f2;
 int f3;
 int f4;
}

var mycollection =List<MyData>();
Run Code Online (Sandbox Code Playgroud)

我需要以 fieldf1f3.

我试过下面的查询

mycollection.select(obj => obj.f1 - obj.f3).Min();
Run Code Online (Sandbox Code Playgroud)

但它会返回差异编号。我需要返回对象。我有点努力以最小的差异获得对象

我也试过这个

mycollection.Select(obj => new { MyObject = obj,
                diff = obj.MaxTemparature - obj.MinimumTemparature, obj
            }).Min(obj => obj.diff);
Run Code Online (Sandbox Code Playgroud)

c# linq iqueryable

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

如何将通用枚举中的多个转换器参数传递给布尔转换器

我已经通过这个如何将RadioButtons绑定到枚举?

并接受这个问题的答案包含使用泛型Enum到布尔转换器.

我的问题是我在View中有两个单选按钮和一个枚举

 public Enum LinkType
   {
       A,
       B,
       C,
       D,
       E,
       F
    }
Run Code Online (Sandbox Code Playgroud)

在ViewModel中,我有一个Called属性

public LinkType MyLinktype
{
  get;set;
}
Run Code Online (Sandbox Code Playgroud)

如果ViewModel中enum的属性具有A,C,E中的值,则第一个单选按钮可以为true,如果ViewModel中的枚举属性具有值,则第二个单选按钮可以为true.B,d,F

那么,如何在通用EnumTo布尔转换器中的转换器参数中传递多个值,如下所示

 public class EnumBooleanConverter : IValueConverter
    {
        #region IValueConverter Members

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string parameterString = parameter as string;
            if (parameterString == null)
                return DependencyProperty.UnsetValue;

            if (Enum.IsDefined(value.GetType(), value) == false)
                return DependencyProperty.UnsetValue;

            object parameterValue = Enum.Parse(value.GetType(), parameterString);

            return parameterValue.Equals(value);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml converter

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

计算将一个矩形的 point1(x,y 坐标) 转换为不同矩形的 Point1(x,y) 的缩放因子

将一个矩形的 x,y 坐标缩放到其他矩形坐标的过程非常简单,正如在此链接中更好地解释的那样

http://www.icoachmath.com/math_dictionary/scale_factor.html

如果我们有两个矩形,一个是 Maxwidth: 2000 和 Maxheight: 1000

和第二个大小为 MaxWidth 的矩形:4000 和 MaxHeight = 2000

所以将 rect1 的坐标转换为 rect2 的比例因子将是

对于 rect2 中的 x :(rect1 中的 x)*(Rect2 的 MaxWidth/Rect1 的 MaxWidht) 对于 rect2 中的 y:(rect1 中的 y)*(Rect2 的 MaxHeight/Rect1 的 MaxHeight)

但是什么时候应该是比例因子

对于一个矩形中心,origin(X,Y - 0,0) 将位于中心,如果您从中心向左走,x 和 y 也会有负值,那么 x 将为负,而在右侧则为Y 是正数,如果你上升,那么 y 将是正数,但如果你走到底部,那么 Y 将是负数,所以这个矩形的范围趋向于(-MaxWidth 到 +MaxWidth,-MaxHeight 到 +MaxHeight)

现在我们有第二个矩形,它的中心位于最左侧和最顶部位置(最左侧和最顶部 - 0,0),因为我们必须沿 x 轴向右移动,沿 y 轴向下移动,所以总会有x 和 y 的正值。

那么,如何计算将原点位于矩形中心的矩形坐标(MaxWidth/2,MaxHeight/2)转换为原点位于最左侧和最顶部位置的矩形的比例因子

scaling geometry transformation scaletransform c#-4.0

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

如何防止在单击 Windows Toast 时启动 UWP 应用程序

我有一个显示祝酒词的 UWP 应用程序。在 toast 通知中心单击该 toast 时,如果应用程序未启动,它始终会启动该应用程序。我不想要那个。我的吐司纯粹是为了向用户显示消息的信息目的。单击 toast 时,应将其关闭。它不应该启动应用程序。

早些时候,我的印象是,如果我们在 toast 中给 Launch 参数,那么只有它应该启动应用程序,但看起来 Launch 无关紧要。它只需单击 toast body 即可启动应用程序。

我想阻止在单击 Toast 时启动应用程序。

我试过以下选项

   protected override void OnActivated(IActivatedEventArgs args)
    {
        if( args is ToastNotificationActivatedEventArgs)
        {
            if(args.Kind == ActivationKind.ToastNotification)
            {
                Application.Current.Exit();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

但这将启动应用程序,然后关闭应用程序。它将显示启动画面,用户将看到应用程序突然关闭。此外,如果我不想要的应用程序已经启动,它将关闭原始工作应用程序。

.net c# windows-10 uwp

0
推荐指数
1
解决办法
191
查看次数