我有一个非常简单的测试应用程序,只是为了玩Windows Phone 7.我刚刚添加了一个TextBox
和一个TextBlock
标准的UI模板.唯一的自定义代码如下:
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
}
private int counter = 0;
private void TextBoxChanged(object sender, TextChangedEventArgs e)
{
textBlock1.Text += "Text changed " + (counter++) + "\r\n";
}
}
Run Code Online (Sandbox Code Playgroud)
该TextBox.TextChanged
事件TextBoxChanged
在XAML中连接到:
<TextBox Height="72" HorizontalAlignment="Left" Margin="6,37,0,0"
Name="textBox1" Text="" VerticalAlignment="Top"
Width="460" TextChanged="TextBoxChanged" />
Run Code Online (Sandbox Code Playgroud)
但是,每当我在模拟器中运行时按一个键(屏幕键盘或物理键盘,按下Pause以启用后者),它会使计数器递增两次,显示两行TextBlock
.我尝试的所有东西都表明这个事件真的发射了两次,我不知道为什么.我已经验证它只被订阅了一次 - 如果我在MainPage
构造函数中取消订阅,当文本改变时,根本没有任何事情发生(对于文本块).
我在常规的Silverlight应用程序中尝试过等效的代码,并没有在那里发生.目前我没有手机可以重现这一点.我还没有找到任何关于Windows Phone 7中已知问题的记录.
任何人都可以解释我做错了什么,或者我应该将此报告为错误?
编辑:为了减少这两个文本控件的可能性,我已经尝试TextBlock
完全删除,并将TextBoxChanged方法更改为只是增量counter
.然后我在模拟器中运行,键入10个字母,然后counter++;
在行上放置一个断点(只是为了摆脱闯入调试器导致问题的任何可能性) - 它显示 …
我有一个页面,其中包含一些用于数据输入的文本框.文本框的绑定设置为TwoWay
.如果文本框失去焦点,则视图模型中的数据仅会更新.如果单击某个按钮(例如"保存"),并且文本框仍具有焦点,则在保存事件的视图模型中不会更改文本框中的更改.
有没有办法让绑定在失去焦点之前保存文本框的值?或者我是否需要在保存事件中执行某些操作?
我正在努力创建自定义Cortana命令.使用通用Windows平台应用程序注册和执行命令.(GitHub的)
例如,我已经注册了以下命令
<Command Name="ShutDown">
<ListenFor>Shut down</ListenFor>
<Navigate/>
</Command>
Run Code Online (Sandbox Code Playgroud)
在UWP应用程序中运行此功能
static async void ShutDown()
{
var dialog = new MessageDialog("This is where I would shut the computer down.");
await dialog.ShowAsync();
//System.Diagnostics.Process.Start("Shutdown", "-s -t 10");
}
Run Code Online (Sandbox Code Playgroud)
但是在设置之后System.Diagnostics.Process
,UWP不支持我学到的东西.
我想运行的自定义命令涉及某种执行,例如启动外部程序,运行其他脚本或打开网站.
UWP不支持它们是有意义的,因为它是通用的,XBox或手机可能无法做到这些,但我希望在Windows 10 PC上有一些替代或黑客的方法来实现这一点.
我有办法Process
在UWP应用程序中执行命令或具有类似功能的其他东西吗?似乎即使我可以让Cortana执行我的C#代码,UWP也不支持在这种情况下有用的东西.
提前致谢.
我写了一个UWP-App,在生成并安装了.appxbundle之后,每次启动App都会得到一个net_http_client_execution_error
.在Visual Studio 2015中启动时,应用程序正在启动并正常运行.因此,如果我调试应用程序,我就没有机会解决问题.
更新:
默认情况下,Windows会限制应用程序访问localhost(127.0.0.1).我在那里运行沙发数据库.这个沙发数据库也应该在那里为我们的客户运行.是否可以允许应用程序访问localhost(启用本地网络环回)?
我有一个带Pivot
控件的页面,在某些情况下我不想显示特定的内容PivotItem
.
设置Visibility
为折叠似乎根本不会影响它.
有什么建议?
我正在尝试使用UWP应用程序部署示例应用程序以桥接AppServices.该示例运行并构建得很好但是当我尝试按照指南打包整个事情时它给了我一个错误.
错误信息:
Error Manifest validation error: Line 36, Column 64, Reason: The file name "BackgroundProcess.exe" declared for element "*[local-name()='Applications']/*[local-name()='Application']/*[local-name()='Extensions']/*[local-name()='Extension' and @Category='windows.fullTrustProcess']" doesn't exist in the package.
Run Code Online (Sandbox Code Playgroud)
我发现代码片段生成错误,但我还没有找到它的修复程序.
如果我从文件Package.appxmanifest中删除以下代码,Visual studio将成功构建包:
<Extensions>
<uap:Extension Category="windows.appService">
<uap:AppService Name="CommunicationService" />
</uap:Extension>
<desktop:Extension Category="windows.fullTrustProcess" Executable="BackgroundProcess.exe" />
</Extensions>
Run Code Online (Sandbox Code Playgroud)
但这显然也会消除过程中的桥接,这是本练习的重点.
这似乎与这个问题有些相关,但不同之处在于我有一个.exe,而这个问题似乎是为.dll解答的:
(更新UWP工具似乎没有解决它.)
我正在尝试从通用Windows应用程序连接到本地MS SQL数据库.我正在使用UWP制作LOB应用程序,以支持桌面,平板电脑和移动使用.当尝试连接到本地(Intranet)SQL Server数据库时,我习惯使用SqlConnection的实例连接到本地服务器,但由于SqlConnection不包含在UWP中使用的.NET子集中,如何完成什么时候使用UWP?
我查看了官方的Microsoft示例以及操作指南,并且没有发现任何关于不是Azure数据库的数据库连接.DbConnection似乎是一个很好的方法,但不能使用,因为它是抽象的,并且它的子代(例如Data.SqlClient.SqlConnection)似乎不包含在UWP的.NET子集中.
我错过了一些非常明显的东西吗?顺便说一下,有没有人知道UWP的良好命名空间参考?
编辑非重复:建议重复的链接问题适用于Windows 8/8.1应用程序,虽然有一些相似之处,但该问题的已接受答案中的代码将无法在UWP上运行.但原则是相同的,但对于使用UWP构建的Windows 10应用程序应该有更好的技术参考.
我有一个在VS 2008中开发的原生C++/MFC应用程序,没有.NET的东西,我使用Project Centennial转换器转换为UWP应用程序.所以现在我有一个.appx包在Windows 10 v 1607中作为UWP应用程序运行.
我的下一个目标是在提交到Windows应用商店之前添加应用内购买支持.
问题是如何从本机C或C++代码从纯Win32应用程序访问Windows.Services.Store命名空间?
是否可以在uwp和非uwp应用程序之间进行通信.我的非uwp是一个提供服务的后台任务.我想在uwp应用程序中调用非uwp服务.
怎么打电话?AppServiceConnection类是否在非uwp应用程序中可用?
win-universal-app windows-10 uwp windows-10-universal desktop-bridge
自几个月前推出我的应用程序以来,反馈中心工作得很好.突然,我测试了从我的应用程序中启动它,以便我可以直接进入我的应用程序的反馈中心页面,应用程序崩溃了.那么我在调试模式下启动了我的应用并再次尝试了.该应用程序只是崩溃没有调试信息.
这是否与我更新到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 ×7
c# ×6
windows-10 ×5
xaml ×4
silverlight ×3
cortana ×1
data-binding ×1
pivot ×1
sql-server ×1
textbox ×1
winapi ×1