在UWP XAML应用程序中使用x:Bind时,请考虑以下事项:
interface IBaseInterface
{
string A { get; set; }
}
interface ISubInterface : IBaseInterface
{
string B { get; set; }
}
class ImplementationClass : ISubInterface
{
public string A { get; set; }
public string B { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在Page类中,我们有以下内容:
public partial class MainPage : Page
{
public ISubClass TheObject = new ImplementationClass { A = "1", B = "2" };
//All the rest goes here
}
Run Code Online (Sandbox Code Playgroud)
在MainPage XAML中,我们有以下代码段:
<TextBlock Text={x:Bind Path=TheObject.A}></TextBlock>
Run Code Online (Sandbox Code Playgroud)
这导致以下编译器错误:XamlCompiler错误WMC1110:无效的绑定路径'A':在'ISubInterface'类型上找不到属性'A'
但是,以下工作正常:
<TextBlock …Run Code Online (Sandbox Code Playgroud) 在C#UWP中如何制作内部阴影效果?
像这样:

我创建了一个只有边框的网格,但阴影填充整个网格.
<controls:DropShadowPanel BlurRadius="5"
ShadowOpacity="0.5"
OffsetX="0"
OffsetY="0"
Color="Black">
<Grid BorderBrush="White" BorderThickness="5"/>
</controls:DropShadowPanel>
Run Code Online (Sandbox Code Playgroud)
如何使用此控件制作内部阴影效果?
我知道Windows Phone 7中存在连续转换,但它似乎还没有包含在silverlight工具包中.
任何想法如何创建一个?
谢谢你.:)
UPDATE
最后我从Kevin Marshall 关于wp7页面转换的优秀帖子中获取了一些代码,我认为这篇文章将给你一个良好的开端.:)
我正在寻找创建一个WPF文本框控件,其作用类似于Outlook中的电子邮件收件人文本框(To,Cc和Bcc输入).我并不一定关心自动完成(我已经找到了数以百万计的例子),但我真正挣扎的是如何在文本框中将分隔的文本条目表现为实体的方式. Outlook(一旦您输入的收件人解析,该文本将成为您可以单击以选择的'实体',右键单击以获取上下文菜单等.它不再是'纯文本',您可以放置光标) ...
有没有人有任何高层次的想法如何实现这一目标?知道任何现有的例子(我用谷歌搜索了几个小时)?
非常感谢,提前,
迈克尔.
我知道你可以通过使用ListBoxItem样式的LayoutStates(即BeforeUnloaded,BeforeLoaded和AfterLoaded)在Silverlight 4中实现这一点.
虽然这些状态存在于默认样式中,但它在WP7中似乎根本不起作用.
我目前正在使用7.1版.
有什么方法可以让这个工作吗?
谢谢,辛
每当我在包含这段代码的文件中使用Visual Studio Code中的自动格式快捷方式(Shift+ Alt+ k)时-
var keyframes = [
{opacity: 0, transform: 'translate(0, 4em)'},
{opacity: 1, transform: 'translate(0)'}
];
Run Code Online (Sandbox Code Playgroud)
我明白了 -
var keyframes = [
{ opacity: 0, transform: 'translate(0, 4em)' },
{ opacity: 1, transform: 'translate(0)' }
];
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何方法告诉自动格式不插入所有空格?
我正在编写一个应用程序,它应该能够运行多个视图,以便在各自的窗口中编辑不同的文档.我写了一些有用的代码,但我遇到了一些问题.我编写的代码基于Microsoft提供的Multiple Views示例(https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/MultipleViews).
我主要有两个问题.第一个是如果我关闭主视图,这是启动应用程序时打开的第一个窗口,那么我无法通过单击应用程序磁贴或打开相关文件类型打开任何新视图/窗口,直到我关闭所有视图/窗口并重新启动应用程序.第二个是,当我尝试从MainPage.xaml.cs打开一个新的视图/窗口时,应用程序崩溃了.
我用来管理App.xaml.cs中的视图的代码如下:
sealed partial class App : Application
{
//I use this boolean to determine if the application has already been launched once
private bool alreadyLaunched = false;
public ObservableCollection<ViewLifetimeControl> SecondaryViews = new ObservableCollection<ViewLifetimeControl>();
private CoreDispatcher mainDispatcher;
public CoreDispatcher MainDispatcher
{
get
{
return mainDispatcher;
}
}
private int mainViewId;
public int MainViewId
{
get
{
return mainViewId;
}
}
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
}
protected override async void OnLaunched(LaunchActivatedEventArgs e)
{
Frame …Run Code Online (Sandbox Code Playgroud) 我发现在Windows 8应用程序中,当导航回此页面时,总是会再次调用Page的构造函数,但在Windows Phone 7应用程序中并非如此.
由于这种行为,该页面的所有属性都会丢失,您需要以某种方式存储它们并在重新激活页面后重新分配它们.目前我正在使用该SaveState方法保存数据并在LoadState方法中重新分配数据.这两种方法都内置在Grid/Split App示例中.
我想知道为什么它是这样设计的,如果有更好的方法来维护页面的实例?
windows-8 windows-runtime windows-store winrt-xaml windows-store-apps
在我的Windows 8商店应用程序中,我在页面上有一个" 发送电子邮件"按钮,用户可以单击它并向我们发送电子邮件以进行一些常规查询.
我需要预先加载电子邮件正文中的一些文本,但我似乎无法添加换行符.我试着Environment.NewLine和"\r\n".它们都不起作用.
var mailto = new Uri("mailto:?to=james.jones@example.com&subject=Hello world&body=Hi," + Environment.NewLine + "Can you please ...");
await Windows.System.Launcher.LaunchUriAsync(mailto);
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到"嗨,你能不能......".换行符被省略.
我有目标Windows 8.1的应用程序,当我在Windows 10上运行此应用程序时,它默认在小窗口中运行.
因为它是主要的平板电脑应用程序,我需要它默认以全屏模式运行.是否可以在Visual Studio或应用程序的某些配置中将其设置为某个位置?
windows-runtime windows-store-apps windows-10 uwp windows-10-universal
uwp ×4
c# ×3
xaml ×3
animation ×2
silverlight ×2
windows-10 ×2
windows-8 ×2
dropshadow ×1
email ×1
listbox ×1
listboxitem ×1
outlook ×1
winrt-xaml ×1
wpf ×1
wpf-controls ×1
xbind ×1