自几个月前推出我的应用程序以来,反馈中心工作得很好.突然,我测试了从我的应用程序中启动它,以便我可以直接进入我的应用程序的反馈中心页面,应用程序崩溃了.那么我在调试模式下启动了我的应用并再次尝试了.该应用程序只是崩溃没有调试信息.
这是否与我更新到10月更新的Windows 10有关?或者也许我将我的应用程序的兼容性扩展到Windows 10 1809(17763)?我喜欢从未触及启动反馈中心的代码,所以这不是我的意思.这是代码:
if (Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.IsSupported())
{
var feedbackLauncher = Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.GetDefault();
await feedbackLauncher.LaunchAsync();
}
Run Code Online (Sandbox Code Playgroud) 在我的UWP应用程序中,我的控制选项是用户控制和模板控制.我对用户控件的理解在这一点上很清楚.
有人告诉我,自定义控件的样式/模板只在内存中实例化一次,而这只发生在第一次使用控件时.这就是我想要的,因为我知道我正在创建的控件将在ListView中使用.
然而,在本书XAML Unleashed中,作者通过从用户控件开始创建自定义控件,然后简单地更改它的基类.问题在于他创建的控件InitializeComponent().我听说这种类使用更多内存,因为它为ListView中的每个项重新实例化.
此外,我从未想过自定义控件使用了该InitializeComponent()方法.我以为this.DefaultStyleKey = typeof(MyClass);在构造函数中只有一个调用.是什么赋予了?我很困惑什么是......
最后,为什么模板控件的样式/模板放在全局Generic.xaml文件中,而不是它自己的单独文件(即xaml文件和代码隐藏文件对)?如果控件应该是自定义的和"可移植的",那么它不应该与其他代码完全分开吗?我没有发现任何一篇文章在任何级别上都详细解释了这些内容.
将代码放在依赖项属性的setter块中是安全的,还是应该总是使用回调方法?有什么不同?
public static readonly DependencyProperty BodyTextProperty =
DependencyProperty.Register("BodyText", typeof(string), typeof(EliteEditor), new PropertyMetadata(string.Empty, BodyText_Callback));
public string BodyText
{
get { return (string)GetValue(BodyTextProperty); }
set
{
/***** IS IT SAFE TO WRITE CODE HERE? *****/
SetValue(BodyTextProperty, value);
}
}
private static void BodyText_Callback(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
/***** OR SHOULD I ALWAYS WRITE CODE HERE? *****/
}
Run Code Online (Sandbox Code Playgroud) 顺便说一句,我正在使用 UWP 以防万一。所以我使用的是 ListView 并且默认情况下所有 ListView 都有一个 ScrollViewer 附加到它们(在默认模板中)。问题是我找不到在 ListView 完成滚动时触发的事件(在 ListView 本身或其 ScrollViewer 上)。
我使用 scrollViewer.ChangeView() 方法自动滚动到 ListView 的开头,它使用动画滚动到顶部,所以我认为这与它有关,因为 ViewChanged 事件在动画完成之前触发。如果我对此是正确的,那么必须有一种方法来确定动画是否完成,因为我需要在 ListView 再次完全空闲时收到警报,这仅是在滚动动画完成时。谢谢。
显然,效果是创作者更新中引入的一项功能.有没有人想出用于解决这个问题的确切API?更好的是一些示例代码,至少可以帮助我开始.
任何帮助将不胜感激.:]
为了测试这个,我创建了一个新的UWP应用项目.
项目的目标版本和最低版本都是"Creators Update Build 15063".
我只是向解决方案添加了一个新的.NET Core类库项目,并尝试从UWP项目引用.NET Core类库并出现错误.
另请注意,我甚至将UWP项目中的Microsoft.NETCore.UniversalWindowsPlatform nuget包版本更新为v5.3.3版本.出现相同的错误.
是什么赋予了?O_O
c# ×6
uwp ×6
xaml ×4
wpf ×2
.net-core ×1
listview ×1
scrollviewer ×1
templates ×1
uwp-xaml ×1
windows-10 ×1