C# 将Pivot.SelectedIndex传递给Windows 10通用应用程序中的用户控件
我在同一页上有一个用户控件和一个轴心。 我希望用户控件根据轴中选定的选项卡显示不同的内容 起初,我认为可以将pivot.SelectedIndex作为依赖项属性传递给用户控件,如下所示:C# 将Pivot.SelectedIndex传递给Windows 10通用应用程序中的用户控件,c#,.net,xaml,win-universal-app,C#,.net,Xaml,Win Universal App,我在同一页上有一个用户控件和一个轴心。 我希望用户控件根据轴中选定的选项卡显示不同的内容 起初,我认为可以将pivot.SelectedIndex作为依赖项属性传递给用户控件,如下所示: //Pivot属性 公共静态只读DependencyProperty SelectedTabProperty=DependencyProperty.Register ( “选定选项卡”, 类型(int), 类型(仪表控制), 新属性元数据(-1) ); 公共整数选择选项卡 { 得到{ 返回(int)GetVal
//Pivot属性
公共静态只读DependencyProperty SelectedTabProperty=DependencyProperty.Register
(
“选定选项卡”,
类型(int),
类型(仪表控制),
新属性元数据(-1)
);
公共整数选择选项卡
{
得到{
返回(int)GetValue(SelectedTabProperty);}
设置
{
设置值(SelectedTabProperty,value);
}
}
使用父页面中的xaml:
....
但是,这段代码会在调用接口的应用程序中生成一个错误,该接口是为getter中的不同线程
封送的
有更好的方法吗?您是在构建GaugeControl还是在使用第三方库?我不确定这是否是控件的问题——我已经成功构建了它,它将pivot的选定索引绑定到usercontrol的dependency属性,一切都应该正常工作。你能看看吗?谢谢!我来看看。GuageControl是我写的,是的。你是否将一些工作重定向到其他线程?是的!谢谢,我相信这就是原因。我的usercontrol使用Win2D绘制图形,我在其draw方法中访问该属性。我以为它是在UI线程中运行的,但也许不是?如果没有看到代码,我不确定它是否可以。尝试调试它,注释一些行并查看效果。如果可能的话,你可以分享一个最小的复制样本,我可以看看。
<local:GaugeControl
Data="{x:Bind data_collector}"
SelectedTab="{Binding ElementName=MainPivot, Path=SelectedIndex}"
Margin="0,0,0,100"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"/>
<Pivot x:Name="MainPivot"
HorizontalAlignment="Center"
Margin="0,0,0,0"
Style="{StaticResource PivotStyleBottomHeader}">
....