2011-03-13 56 views
2

我想创建一个切换开关,它将在绑定到单个对象的不同属性的数据绑定中有多行。这些切换开关将位于列表框内。与绑定到对象的自定义切换开关

下面我的xaml代码显示了当前的切换开关模板。使用下面的代码,只有标题正确绑定。我需要其他两行(在ContentTemplate中)和切换开关本身绑定到对象的布尔属性。

     <DataTemplate> 
          <toolkit:ToggleSwitch Header="{Binding Property1}" Width="450"> 
           <toolkit:ToggleSwitch.HeaderTemplate> 
            <DataTemplate> 
             <ContentControl FontWeight="Black" FontSize="40" Foreground="{StaticResource PhoneForegroundBrush}" Content="{Binding}" VerticalAlignment="Top" /> 
            </DataTemplate> 
           </toolkit:ToggleSwitch.HeaderTemplate> 
           <toolkit:ToggleSwitch.ContentTemplate> 
            <DataTemplate> 
             <StackPanel> 
              <TextBlock Text="{Binding Property2}" FontSize="32" FontWeight="Light" Foreground="{StaticResource PhoneAccentBrush}" /> 
              <TextBlock Text="{Binding Property3}" FontSize="{StaticResource PhoneFontSizeSmall}" Foreground="{StaticResource PhoneSubtleBrush}" /> 
             </StackPanel> 
            </DataTemplate> 
           </toolkit:ToggleSwitch.ContentTemplate> 
          </toolkit:ToggleSwitch> 
         </DataTemplate>        

有关如何实现我需要的结果的任何建议吗?

在此先感谢!

这是我想实现

Property1 
Property2:On/Off     [===] (this is the toggle switch) 
Property3 

属性1,2和3都将具有自定义格式为好。请记住这些将在列表框中,因此它们将绑定到一个集合。

+0

你能不能展示一个嘲弄的图像来展示你想要实现的目标? – 2011-03-14 13:18:26

+0

我添加了一个样机,告诉你我想让用户看到什么。谢谢! – andersra 2011-03-14 18:20:42

+0

“开”/“关”标签如何与您的模型配合? – 2011-03-14 20:47:25

回答

1

你需要修改ToggleSwitch源在变频器。

添加额外的文本/字符串属性有一些东西来绑定Property2和Property3。 (这些也将需要单独的项目模板不同 - 例如在警报应用程序。)

然后看看更改ContentProperty的绑定或扩展OffOnConverter以包括额外的新特性。

+0

您指的是哪个转换器?我的头正确绑定,所以我不知道为什么内容部分中的其他文本块不以相同的方式绑定。 – andersra 2011-03-15 13:33:01

+0

@andersra它在切换源代码 – 2011-03-15 14:12:42

+0

来源,你的意思是来自codeplex中的工具包的源代码? – user330612 2013-03-01 23:16:55

0

也许,你需要的是结合到一个元素是什么,看看这个帖子:

Silverlight 3 Element binding in a datatemplate

给人以数据模板X元素:Name属性,然后使用元素从数据模板内绑定。

希望这有助于 罗伯特

+0

这不是我要找的 – andersra 2011-03-15 02:29:44