- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建一个 Canvas ,项目位于 Canvas 上指定的位置,因为我无法将源和模板直接绑定(bind)到 Canvas ,我是否使用了 ItemsControl。
但是有一个问题,所有项目都位于 0,0 处。我已经测试了它们不返回 0,0 的绑定(bind)。
我怎样才能完成这项工作,以便将元素放置在正确的位置?
是否可以在 Canvas 上创建 2 个图层,每个图层都绑定(bind)到不同的源并使用不同的模板?
这是在 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>
<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 中都不起作用,因为它依赖于 Setter.Value
中的绑定(bind)。 .
尝试在 ItemContainerStyle
中设置绑定(bind)因为你的StackPanel
不是根元素;您的模板将被放置在 ContentPresenter
,因此您在 StackPanel
中的 Canvas 定位附加属性将被忽略。
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Top" Value="{Binding Top}" />
<Setter Property="Canvas.Left" Value="{Binding Left}" />
</Style>
</ItemsControl.ItemContainerStyle>
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>
关于wpf - 银光下的 Canvas 装订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771146/
我正在尝试创建一个 Canvas ,项目位于 Canvas 上指定的位置,因为我无法将源和模板直接绑定(bind)到 Canvas ,我是否使用了 ItemsControl。 但是有一个问题,所有项目
我正在尝试为Flatpickr创建一个 knockout 绑定(bind)但没有运气。我尝试根据已接受的答案 here 调整代码无济于事。 Flatpickr 已初始化,但它似乎没有使用我设置的默认选
我们有一个管理打印文件的项目。起初我想知道为什么不能在一个地方设置打印选项。例如 打印机托盘选择第一页和其他页面可以使用 MS Word 自动化 : var doc = _applicationObj
目前,我有一个实现,可以在 verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx) 函数中为每个中间实体和最终实体证书发送 OCSP 请
我有一个打印 PDF 的 java 程序。它使用 Apache PDFBox 创建一个 PDDocument 对象(从 pdf 文档或在某些情况下从流),然后使用 javax.print API 将其
我在 Jetty 9 中启用 OCSP 装订时遇到了一些问题,我真的希望有人能在这里帮助我……希望如此! 为了我的测试,我从 PositiveSSL (Comodo) 购买了一个 SSL 证书,它给了
需要在 Azure Web 应用程序上启用 OCSP 装订的必备装订功能。就 Azure 论坛上的讨论而言,对于像 *.azurewebsites.net 这样的域,OCSP Stapling 似乎是
我是 NodeJS 的新手,今天我必须在现有的 NodeJS 后端更新 ssl 证书。我从来没有用 Node 做过任何事情,编写应用程序的人不再为公司工作...... 到目前为止一切顺利...更新证书
IIS GUI 中有复选框“禁用 OCSP 装订”,我如何在 powershell 中禁用它? 已尝试:网络管理模块 Set-WebConfiguration和 netsh http 更新 sslce
为了生成对 OCSP 请求的响应,需要使用函数 SSL_CTX_set_tlsext_status_cb() 指定回调: long SSL_CTX_set_tlsext_status_cb(SSL_C
几乎这是对问题的附加信息的请求: OpenSSL certificate revocation check in client program using OCSP stapling 我想知道 Ope
我是一名优秀的程序员,十分优秀!