silverlight 画布装订

2024-03-12

我正在尝试创建一个画布,其中的项目位于画布上的指定位置,因为我无法将源和模板直接绑定到画布,我是否使用了 ItemsControl。 但有一个问题,所有的项目都位于 0,0。我已经测试了绑定,它们不返回 0,0。 我怎样才能完成这项工作,使物品位于正确的位置?

是否可以在画布上创建 2 个图层,其中每个图层绑定到不同的源,并使用不同的模板?

这是在 Silverlight 中

<ItemsControl Grid.Row="1" Grid.Column="1"
                Width="650" Height="650"
                ItemsSource="{Binding Skills}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas Margin="0"
                Width="650" Height="650" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel Canvas.Top="{Binding Top}" Canvas.Left="{Binding Left}">
                    <TextBlock Text="{Binding Name}" />
                <Image Source="{Binding Icon}" />
                <StackPanel Orientation="Horizontal" >
                    <TextBlock FontWeight="Bold" TextAlignment="Center" Text="{Binding SkillPointsStatusText}" />
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

使用 ItemContainerStyle 进行测试

<ItemsControl Grid.Row="1" Grid.Column="1"
                Width="650" Height="650"
                ItemsSource="{Binding Skills}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas Margin="0"
                Width="650" Height="650" />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Name}" />
                <Image Source="{Binding Icon}" />
                <TextBlock FontWeight="Bold" TextAlignment="Center" Text="{Binding SkillPointsStatusText}" />
            </StackPanel>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
    <ItemsControl.ItemContainerStyle>
        <Style>
            <Setter Property="Canvas.Top" Value="{Binding Top}" />
            <Setter Property="Canvas.Left" Value="{Binding Left}" />
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>

好吧,我已经放弃了这个项目,但如果有人有答案,我将保留这个问题


以下所有内容在 SL4 中不起作用,因为它依赖于 a 中的绑定Setter.Value.


尝试在中设置绑定ItemContainerStyle自从你的StackPanel不是根元素;您的模板将被放置在ContentPresenter,因此您的画布定位附加属性StackPanel将被忽略。

<ItemsControl.ItemContainerStyle>
    <Style>
        <Setter Property="Canvas.Top" Value="{Binding Top}" />
        <Setter Property="Canvas.Left" Value="{Binding Left}" />
    </Style>
</ItemsControl.ItemContainerStyle>

Edit:如果Silverlight不支持ItemContainerStyle您可以设置通用样式ContentPresenters这应该同样有效:

    <ItemsControl ItemsSource="{Binding Data}">
        <ItemsControl.Resources>
            <Style TargetType="ContentPresenter">
                <Setter Property="Canvas.Left" Value="{Binding Left}"/>
                <Setter Property="Canvas.Top" Value="{Binding Top}"/>
            </Style>
        </ItemsControl.Resources>
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Canvas/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                ...
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

silverlight 画布装订 的相关文章

  • 如何在MVVM中实现appSettings

    我正在尝试摆脱我使用的警告appSettings在 WPF 项目中 应用程序配置
  • XAML 自定义文本框光标停留在输入开始处

    我正在致力于为 Windows 8 1 Universal UWP 的 XAML 应用程序创建自定义控件 并不断发现细微差别 我似乎找不到任何有关创建现有控件 如 TextBox 的自定义实现的优秀教程 因此我一直在浏览 Telerik 等
  • 使用 StrokeDashArray 均匀间隔的虚线

    我正在尝试创建一个像这里一样的扑克筹码 将 Expression Blend 4 用于 WP7 1 Silverlight 4 应用程序 我试图在芯片边缘创建六个白色 盒子 暂时忽略骰子图像和内部虚线 我的方法是两个创建两个椭圆 一个没有描
  • dropdownlist DataTextField 由属性组成?

    有没有一种方法可以通过 C 使 asp net 中的下拉列表的 datatextfield 属性由对象的多个属性组成 public class MyObject public int Id get set public string Nam
  • 在 MVVM 中哪里可以捕获异常?

    我的视图模型类有一个连接到服务的方法 不确定这是否是一个好的实践 或者视图模型是否应该是严格的属性和属性更改机制 当然 我想在连接或断开连接时处理任何可能的 WCF 异常 让我们使用未找到端点作为示例 考虑到这是一个我想引起用户注意的异常
  • 自定义 WPF 工具提示

    我想创建一个 WPF 工具提示 其中包含工具提示标题的标签 然后创建一个包含更详细文本的文本块 我在资源字典中创建了以下样式
  • WPF 路径:如何在 XAML 中绘制它?

    我想创建一个带有非矩形标题的自定义 GroupBox 如下图所示 正如你所看到的 标题的内容必须是可参数化的 因此可以在xaml中输入图像 标题和背景 提前致谢 谢谢您的回答 实际上我想在自定义组框中使用这个设计 所以在你的答案中 如果我不
  • iTextSharp 从 WPF 固定文档生成 PDF

    我有一个简单的 WPF 应用程序 可以显示和打印一些内容 使用固定文档进行报告 如何使用免费且开放的解决方案从中生成 PDF 比如iTextSharp WPF 固定文档 也称为 XPS 文档 是对 PDF 的明显改进 它具有 PDF 所缺乏
  • WPF DataGridTemplateColumn 标题绑定不起作用

    我将 DataGrid 与一些手动创建的 DataGridTemplateColumns 一起使用 这是工作中的代码片段
  • 如何按 z-index 对 Windows 进行排序?

    如果我枚举窗口Application Current Windows 对于任意两个窗口 我如何判断哪一个 更接近 即具有更大的 z index 或者 换句话说 我如何按 z 索引对这些窗口进行排序 您无法从 WPF 获取 Window 的
  • WPF 窗口关闭后不会释放内存

    我创建了一个测试代码 private void Application Startup 1 object sender StartupEventArgs e ShutdownMode System Windows ShutdownMode
  • 当 QML 对象不可见时防止 QML 属性绑定?

    我正在开发一个具有大量属性绑定的 QML 应用程序 数百个对象被跟踪并以不同的形式显示 例如 Qt3D QCanvas 当我在应用程序的单独页面上时 x y 位置和相对大小的属性绑定仍在发生 我怎样才能阻止他们 我知道我可以根据属性是否可视
  • WPF 应用程序在第一次交互(例如单击按钮)后停止/冻结

    我目前在 WPF 中遇到问题 UI 加载正常 但每当进行第一次用户交互时 例如单击按钮 应用程序似乎会停止 或者例如 如果我有两个显示 MessageBox 的按钮 则第一次单击将等待几秒钟 然后显示MessageBox 但任何后续交互都是
  • WPF应用程序,在打开窗口之前运行异步任务

    我遇到了一个问题 我需要在主窗口打开并显示之前运行异步任务 IE STAThread static void Main string args MainWindow window new MainWindow SplashScreen Sh
  • Xamarin Dim 页面(主详细信息页面)

    因此 对于 Android 当显示主从页面的母版页时 母版页会被 黑色暗淡 视图覆盖 因此很容易用眼睛区分这两个页面 在 iOS 中 详细信息页面不会变暗 因此更难区分视图 有没有办法用 黑色半透明 的 BoxView 或 Frame 覆盖
  • 我对 MVVM 模式有一些疑问

    我叫 Jes s 来自西班牙 是一名 NET 开发人员 几天前我刚刚发现了这个伟大的网络 我有一些关于 MVVM 模式的问题 如果您能回答我 我将很高兴 我三个月前开始使用 WPF 并且学习了 MVP 模式 MVP 非常好 因为您可以很好地
  • OxyPlot 中日期时间轴上的不规则间隔

    我有一个 WPF 应用程序 其中使用 OxyPlot 来绘制图表 我不断地将点添加到图表中的线系列中 X 轴是日期时间轴 其间隔类型设置为秒 点不断添加到线系列中 当第一个点和最后一个点之间的时间跨度是特定的秒数时 我删除第一个点并使绘图无
  • 如何在 MVVM 中使用应用程序命令

    我想使用 ApplicationCommands Cut 复制 粘贴 保存 它们看起来很有趣 因为命令路由 键绑定以及某些控件使用它们的事实 我了解如何绑定到虚拟机上的中继 委托命令 但我似乎无法理解应用程序命令 我找到了一些旧的答案 但没
  • 当绑定值为 null 时出现 WPF 日期选择器验证错误

    我有一个 WPF 应用程序 其中使用绑定到实体框架 带有 SQL Server 实体的日期字段的日期选择器 我将其绑定如下
  • 如何覆盖运行时创建的 wpf 控件中的应用程序样式

    我试图在运行时创建一个 WPF 控件 但我不知道如何让它忽略来自 App xml 资源的样式 我尝试将样式设置为 null 并将 OverridesDefaultStyle 设置为 true 但没有成功 应用程序设置将前景设置为白色 我似乎

随机推荐

  • 如何在android中创建图像按钮?

    所以我是android开发的新手 我怎样才能创建一个像按钮一样的图像 这样当我按下该图像时 图像就会启动特定的活动 所以我希望它显示为图像
  • 当选择的日期超出最小或最大日期时,DatePicker 会崩溃。安卓5.1

    我有这个代码 public void onDateSet DatePicker view int year int monthOfYear int dayOfMonth Log v DateRangePicker Date CHANGED
  • IIS Express Web 服务器端口正在使用

    我通常可以毫无问题地调试我的 Web 服务 但现在我不断收到错误 无法启动 IIS Express Web 服务器 端口 3268 正在使用中 我已经看过之前的问题 但我被困住了 我使用哪个端口并不重要 重新启动 关闭网络浏览器 删除网络历
  • 如何查看URL的状态?

    我创建了一个宏 可以在其中从任何网页获取每个 URL 现在 我在列中包含了每个 URL 如何检查 URL 是否有效 如果这些 URL 中的任何一个不起作用 那么它应该在下一列中的 URL 旁边显示错误 不起作用 下面是我写的代码 Sub C
  • 让 NSRunLoop 等待设置标志的最佳方法?

    在苹果文档中NS运行循环 http developer apple com documentation Cocoa Reference Foundation Classes NSRunLoop Class Reference Referen
  • DirectoryInfo.GetFiles,如何在 C# 中获取不同类型的文件

    如何使用以下命令找到 gif 和 jpg 这两种文件类型DirectoryInfo GetFilesC 中的函数 当我尝试这段代码时 string pattern gif jpg FileInfo files dir GetFiles pa
  • 如何使用 Webpack 和 React create-react-app 在 Monaco 中加载 npm 模块类型定义

    我想在 React 应用程序中加载 Monaco 中的一些模块类型定义以用于教程目的 事实上 我在经历了很大的痛苦之后设法让它工作 但以一种非常hacky的方式 所以我不是问如何做 而是问如何正确地做 我希望能用 Webpack 解决的部分
  • cakephp:查找带有“包含”的语句

    以下用户模型函数来自 MilesJones 论坛插件 有人可以告诉我 find stmt txt 中的 contain 有什么用吗 我在 cakephp 食谱中找不到任何包含的示例 任何帮助表示赞赏 public function getP
  • 防止浏览器缓存角度模板

    我一直在研究这个问题 这很简单 现代浏览器 chrome FF 会缓存一些东西 比如 html 页面等等 当您发布新版本时 Angular 会获取这些模板 但是 由于浏览器提供这些页面的缓存版本 而不是新的更新版本 我读过大约 2000 篇
  • Python 中的滤波器设计和频率提取

    我正在开展一个项目 用 Python 查找多分量音频信号的瞬时频率 我目前正在使用巴特沃斯带通滤波器结合scipy signal lfilter提取我想要的频率区域 然后我使用分析信号 来自scipy signal hilbert 以获得瞬
  • Jquery 每 x 秒运行一次单击函数

    我有以下 jQuery
  • 最喜欢的 (G)Vim 插件/脚本? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 加载多个小型 JavaScript 文件和加载一个大型 JavaScript 文件哪个更好?

    我注意到在 Chrome 中 如果我将图像加载为 Base64 字符串 然后滚动浏览页面的该部分 速度会变慢 我还注意到 当我导航出包含 Javascript 的选项卡 然后移回该选项卡时 速度会慢几秒钟 就好像 V8 正在重新编译 js
  • Google 自定义搜索 API 自动完成?

    我们使用 Google 自定义搜索 API 付费服务器端 API 来支持我们的搜索结果 我想在搜索中添加自动完成功能 但是 有谁知道是否支持此功能 通过服务器端 API 或通过某种客户端 JSONP 我曾尝试使用 Google 自定义搜索的
  • Node.js 服务器没有响应

    我正在 Node js 主页上尝试这个简单的演示 var http require http http createServer function req res res writeHead 200 Content Type text pl
  • 如何防止应用程序在 Windows 7 中被固定?

    我试图阻止用户将我的 NET 应用程序固定到任务栏 我在上面找到了一些代码老新事物 http blogs msdn com b oldnewthing archive 2011 06 01 10170113 aspx就是这么做的 然而 它是
  • 如何在 C# 中使用箭头禁用 WinForm 上的导航?

    我需要禁用使用表单上的箭头改变焦点 有一个简单的方法可以做到吗 谢谢 大致如下 private void Form1 Load object sender EventArgs e foreach Control control in thi
  • 流星 0.5.7:如何处理/使用 Meteor.Collection.ObjectID?

    我昨天更新了流星并尝试使用新的Meteor Collection ObjectID 但此后一直没有成功 首先 我以这种方式更新了我的收藏 myCollection new Meteor Collection mycollection idG
  • 选择每一列,但重命名其中一列

    假设我有一个名为 Alphabet 的表 现在假设该表具有以下列 a b c d e z 现在我想从提到的表中选择所有内容 但选择 f 作为 aaa 但我不想这样做 select a b c d e f as aaa g z from Al
  • silverlight 画布装订

    我正在尝试创建一个画布 其中的项目位于画布上的指定位置 因为我无法将源和模板直接绑定到画布 我是否使用了 ItemsControl 但有一个问题 所有的项目都位于 0 0 我已经测试了绑定 它们不返回 0 0 我怎样才能完成这项工作 使物品