- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 MainPage
中有一个 FlipView
。它是 ItemTemplate
绑定(bind)到名为 landscapeControl
的 UserControl
。它的 ItemsSource
绑定(bind)到名为 MyLandscape
的类的列表。
景观控制:
<Grid>
<ScrollViewer x:Name="LScrollViewer" MaxZoomFactor="2.0" MinZoomFactor="1.0" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" DoubleTapped="LScrollViewer_DoubleTapped" >
<Canvas x:Name="inkCanvas" Background="Transparent">
<StackPanel x:Name="LStackPanel" Orientation="Horizontal" Margin="0,0,0,0">
<Image x:Name="LImage0" HorizontalAlignment="Right" Source="{Binding firstImage}" Width="570"/>
<Image x:Name="LImage1" HorizontalAlignment="Left" Source="{Binding nextImage}" Width="570"/>
</StackPanel>
</Canvas>
</ScrollViewer>
</Grid>
MyLandscape
类:
public class MyLandscape
{
public ImageSource firstImage { get; set; }
public ImageSource nextImage { get; set; }
public Canvas inkCanvas { get; set; }
}
我的图像显示完美。我只想要 3 样东西:
1) 我想从我的 MainPage
访问我的 Canvas
。我正在尝试在 flipView_SelectionChanged
事件中执行此操作:
landscapeControl pc = flipView1.SelectedItem as landscapeControl;
if (flipView1.Items.Count > 0)
{
var myCanvas = pc.getCanvas();
m_CanvasManager = new CanvasManager(myCanvas);
}
但是 pc 变量总是空的!我想绑定(bind)我的Canvas
,所以我每两张图片都有一个Canvas
?那可能吗?
最佳答案
一种方法是使用 Command
将 UIElement
传递回您的模型。
基本上,您的 inkCanvas
元素将附加一个 CanvasLoadedCommand
,如下所示。请注意,此命令仅在 inkCanvas
完全加载时调用。
<Canvas x:Name="inkCanvas" Background="Transparent">
<Interactivity:Interaction.Behaviors>
<Core:EventTriggerBehavior>
<Core:InvokeCommandAction Command="{Binding CanvasLoadedCommand}" CommandParameter="{Binding ElementName=inkCanvas}" />
</Core:EventTriggerBehavior>
</Interactivity:Interaction.Behaviors>
我为这个小 demo 创建了一个简单的 DelegateCommand
(工作源代码)在这里。当加载 inkCanvas
时,
this.inkCanvas = (Canvas)canvas;
将被调用,然后填充 inkCanvas
属性。
private DelegateCommand _canvasLoadedCommand;
public DelegateCommand CanvasLoadedCommand
{
get
{
if (_canvasLoadedCommand == null)
{
_canvasLoadedCommand = new DelegateCommand((canvas) =>
{
this.inkCanvas = (Canvas)canvas;
},
(canvas) => canvas != null);
}
return _canvasLoadedCommand;
}
}
希望这对您有所帮助!
关于c# - 从 MainPage 访问 UserControl 中 ItemsSource 内的 Canvas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30136886/
我创建了一个项目,其中 MainPage.xaml.cs 如下所示: using System; using System.Collections.Generic; using System.Net;
我的 WP8.1 RT 应用程序遇到了一个奇怪的问题 - 我的一位 Beta 测试员报告说他在启动画面后看到黑屏。该应用程序不会崩溃、挂断电话或其他 - 只是黑屏而不是 MainPage。我在代码中实
我在 Silverlight 中有一个子窗口,我希望发送一个字符串值来填充应用程序 MainPage.xaml 中的文本框。 如何传回值? 我试过了- MainPage m = (MainPage)A
public partial class MainPage : ContentPage { public MainPage() { InitializeComp
当导航到另一个页面时,如何使我的对象列表对另一个页面可用。 例如在我的 mainpage.xaml 中 var data2 = from query in document.Descendants("
我想在@mainpage 部分中包含多个 .txt 文件(或 .md 文件,用 Markdown 编写)。 但是,我为这些文本文件中的每一个获得了一个单独的章节。这如何防止? 最佳答案 我在这里寻找相
我有来自 Prism 模板的基本 Prism/Unity/Xamarin Forms 应用程序。 如果我更改以下(添加参数)它会失败 public MainPage(INavigationServic
我是 C++ 和 Windows 应用商店编程的新手,我一直在定义按钮上的点击处理程序。我指的是 these说明: Add a Button control to a parent container
我想获取 Iframe 上的输入值。我想在单击主页上的按钮时获取此值。 好吧,我有这段代码 主页上的 JavaScript: var targetDiv = document.getElement
我应该如何正确使用根页面,以便我可以使用正确的导航栏导航/推送到其他页面。 现在看起来像这样: MainPage = new RootPage (); 还有我的根页面: public RootPage
如果您将 MainPage.dox 文件放在 Doxygen 的搜索路径中,它会将其添加到源文档上方 Doxygen/html 中的输出中。但是你可以有多个文件,比如 MainPage.dox 吗?或
我在显示 bootstrap .dropwdown 类时遇到问题。它从一开始就有效,但一段时间后就停止显示了。我在整个网站中使用固定容器作为“主页”。现在看起来像这样:/image/EMFgQ.jpg
我想知道应用程序内主页按钮的实现,该按钮可将您从任何页面返回到主页面。据我所知,WP7 开发指南不允许这样做。但我找不到任何关于那个的书面信息。 有谁知道这是在哪里写的吗? 最佳答案 通常不鼓励使用主
我们为我们的 Doxygen 构建定义了自己的\mainpage 部分,我希望有一个链接作为其中的一部分到自动生成的类索引页面 (classes.html) 和命名空间列表顶级页面 (namespac
我试图理解 example app由微软。现在我不能重复下一部分了。该应用程序有类 App和 ExtendedSplach .我想通过 ExtendedSplash 重复加载。就我而言,在延迟一段时间
在两种情况下,我无法确定 doxygen 关于 \mainpage 部分的行为: 如果您未指定 \mainpage 部分,它会使用任何其他页面吗?如果是,如何选择? 如果两个文件都指定了 \mainp
我在 Silverlight 中有一个从 MainPage.xaml 导航的页面,称为 OpenPage.xaml,然后我想将一个值传递回 MainPage.xaml - 使用此调用此 OpenPag
首先,我知道文档指出我应该在 App 类构造函数 ( https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/
我有将应用程序从 iOS 迁移到 Forms 的异常情况。 我的设置是 - iOS 项目加载签名 UIViewController 和处理登录例程。 MainPage 为空。 登录例程完成后,我将 X
这是我第一次接触 Xamarin Forms,所以我可能(而且很可能)以错误的方式做事。 我有以下 Xaml:
我是一名优秀的程序员,十分优秀!