我有一个 ScrollViewer,里面有一个 ItemsControl。ItemsControl 的 ItemSource 绑定到 ObservableCollection。
问题是它将所有内容默认为一列。我希望根据窗口的大小,子项将适应所有可用区域。
WrapPanel 会起作用。请看下图。在左侧,项目排列在 ItemsPanel 内,在右侧,它们排列在 WrapPanel 内。
但不幸的是,WrapPanel 没有 ItemSource 属性,因此我可以绑定我的项目。有没有办法让 ItemsSource 有更多的列或将我的 ObservableCollection 绑定到 WrapPanel?
首先,与此问题相关的所有其他问题都是针对 ASP.NET Core 项目的,解决方案是将 Microsoft.EntityFrameworkCore.Design 添加到 project.json 上的工具部分,但是......我没有使用 ASP .NET Core,所以我的项目中没有project.json。因此,在将其标记为重复之前,请记住它,因为我看到这是一个相当常见的问题......
当我add-migration InitialMigration在包管理器控制台上键入时,出现以下错误:
无法执行此命令,因为未安装 Microsoft.EntityFrameworkCore.Design。安装与已安装的 Microsoft.EntityFrameworkCore 版本匹配的包版本,然后重试。
但正如您在下图中看到的,它安装在这个项目上:
我的数据库层位于一个单独的项目中,即完整框架类库,因此我没有 projec.json 文件。
有人尝试在类库项目上使用迁移吗?
根据将图像资产包含在Flutter项目中的文档,我需要将它们添加到pubspec.yaml如下所示:
flutter:
assets:
- assets/my_icon.png
- assets/background.png
Run Code Online (Sandbox Code Playgroud)
但是我需要在应用程序中包含约900张图像,我真的需要手动在文件中一个接一个地添加图像吗?
我有以下工作代码:
var failures = _validators
.Select(v => v.Validate(request))
.SelectMany(result => result.Errors)
.Where(f => f != null)
.ToList();
Run Code Online (Sandbox Code Playgroud)
该Validate方法返回一个ValidationResult对象。
我想将Validate方法更改为ValidateAsync,然后我async/await在Select. 现在,它不会返回IEnumerable<ValidationResult>,而是IEnumerable<Task<ValidationResult>>和SelectMany呼叫不工作了。
所以我把代码改成这样:
var failures = _validators
.Select(async v => await v.ValidateAsync(request))
.SelectMany(result => result.Result.Errors)
.Where(f => f != null)
.ToList();
Run Code Online (Sandbox Code Playgroud)
我正在使用对象的Result属性Task来访问ValidationResult对象。
我记得很久以前读过一些关于使用Task.Result可能导致死锁的文章。这个解决方案是好的还是有更好的?
我正在将项目从 2.2 更新到 3.1,并且我有以下方法可以在创建新迁移时自动修补所有decimal属性以使用decimal(18, 6)sql 类型。
public static void PatchDecimalProperties(this ModelBuilder builder)
{
foreach (var property in builder.Model.GetEntityTypes()
.SelectMany(t => t.GetProperties())
.Where(p => p.ClrType == typeof(decimal) || p.ClrType == typeof(decimal?)))
{
property.Relational().ColumnType = "decimal(18, 6)";
}
}
Run Code Online (Sandbox Code Playgroud)
现在在 3.1 中该IMutableProperty.Relational()方法不再存在。
这种方法仍然存在还是有替代方法?
我有一个使用Chart.js3+ 的 Angular 应用程序,它需要在 Firefox 68 中运行。
Chart.js3+ResizeObserver在其代码中使用,该特定 Firefox 版本不支持该版本。
因此,当我尝试在 Firefox 中加载图表时,出现以下错误:
ReferenceError:“ResizeObserver 未定义”
在其他浏览器或较新版本的 Firefox 中,它可以正常工作。
经过一些研究,我读到我可以安装一个polyfill ResizeObserver,许多人建议如下: https: //github.com/juggle/resize-observer
因此,我通过键入将其安装在我的项目中npm i @juggle/resize-observer,然后将其添加到polyfill.ts文件中:
import '@juggle/resize-observer';
import 'zone.js/dist/zone';
Run Code Online (Sandbox Code Playgroud)
但错误仍然存在。我错过了什么吗?
提前致谢。
我有以下类,我需要获取其属性名称:
public class PMLButtonData
{
public int BackgroundColorID
{
get;
set;
}
public string Callback
{
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
要获取我正在使用此功能的名称
public static string GetPropertyName<T>(Expression<Func<T, object>> lambda)
{
MemberExpression member = lambda.Body as MemberExpression;
PropertyInfo property = member.Member as PropertyInfo;
return property.Name;
}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码获取Callback属性名称:
string name = GetPropertyName<PMLButtonData>(x => x.Callback);
Run Code Online (Sandbox Code Playgroud)
但是其他属性的相同代码不起作用:
string name = GetPropertyName<PMLButtonData>(x => x.BackgroundColorID);
Run Code Online (Sandbox Code Playgroud)
它们之间的唯一区别是数据类型,因此我将Callback更改为int,并且代码不再适用于此属性.如果它是一个整数,为什么我不能这样得到属性的名称?
我是这个表达式,用于在特定属性的对象列表中搜索:
var result = myObject.Where(o => o.SearchString.Contains(searchValue));
Run Code Online (Sandbox Code Playgroud)
它适用于单个值.searchValue是用户传递的字符串.用户可以传递一个单词或多个由空格分隔的单词.有没有办法过滤包含任何传递的单词的对象?
我可以用循环来做这个,在之前的结果中搜索一个新单词,但它看起来并不优雅.
我试图在一个组件中进行双向绑定,并通过包含子组件的其他组件传播它:
我有一个带有双向绑定的子组件,它正在工作。绑定指向一个名为child_value
然后,此子组件出现在父组件的模板中。我也想在这里进行双向绑定,所以我使用[(child_value)]=parent_value
最后,在我的应用程序中使用了此父组件,因此在此组件中,我还希望双向绑定 [(parent_value)]=application_value
但是只有第一个绑定以两种方式起作用。为了说明这一点,我创建了这个punker
http://plnkr.co/edit/IWVzmRbqL3ARFaYxjs3F?p=preview
拖动滑块时,您会看到Child值更新,而其他值没有更新。如果我application_value通过按钮更改了in代码,则它将在所有组件中传播。
我是 Typescript 的新手,我正在声明这样的数组:
variable1: MyType[];
Run Code Online (Sandbox Code Playgroud)
然后我意识到我小组中的另一个人是这样宣布他们的:
variable2: [MyType];
Run Code Online (Sandbox Code Playgroud)
我从未在任何其他语言中看到过与上一个类似的东西。我问他有什么区别,他不知道答案。
如果我尝试分配variable1给variable2,Typescript 会抱怨它们是不同的类型并且不能相互分配。
所以,我的问题是,究竟是什么类型的variable2?
这可能是一个非常愚蠢/简单的问题,应该很容易在谷歌上找到,但我什至不知道如何调用variable2对象类型来搜索它......
我有一个像这样的对象列表:
public class Entity
{
public int Id { get; set; }
public DateTime Date { get; set; }
}
| Id | Date |
| 1 | 2017-01-16 12:58:32 |
| 2 | 2017-01-16 11:36:01 |
| 3 | 2017-01-16 17:55:19 |
| 4 | 2017-01-19 13:19:40 |
| 5 | 2017-01-19 09:21:55 |
Run Code Online (Sandbox Code Playgroud)
我想使用LINQ过滤这一点来计算白天的发生次数.所以结果将是这样的:
| Date | Occurrences |
| 2017-01-16 | 3 |
| 2017-01-17 | 2 |
Run Code Online (Sandbox Code Playgroud)
是否可以使用LINQ执行此操作?
我被分配到一个已经运行的新项目.我注意到人们使用async方法创建了所有存储库类,并且await每次都在控制器中调用它们,因此它们基本上用作同步代码.
将来不可能异步调用它们和服务器,运行一个SQL Server实例.
它来自一种种子API项目,创建它的人不再在公司,现在没有人确切知道他们为什么async.但我认为在当前的项目场景中,根本没有意义async,它只会给系统增加不必要的复杂性.
async在这种情况下制作它们是否有意义?
c# ×6
linq ×3
angular ×2
asp.net-core ×2
arrays ×1
binding ×1
chart.js ×1
ef-core-3.0 ×1
entity-framework-migrations ×1
flutter ×1
itemscontrol ×1
polyfills ×1
reflection ×1
typescript ×1
wpf ×1
wrappanel ×1