[英]Change the value of the columns in the ItemTemplate
我有这样的事情:
<ListBox Margin="10, 10, 10, 1" Visibility="Visible" ItemContainerStyle="{StaticResource Remind_list}" x:Name="Reminders_list" Background="Transparent" Height="auto">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="440">
<Grid.Background>
<ImageBrush Stretch="Fill" ImageSource="/Images/bg.png"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Image Grid.Row="0" Grid.Column="1" Source="/Images/check.png" Stretch="Fill" Visibility="{Binding Checked}"/>
<TextBlock Grid.Row="0" Grid.Column="0" Tap="RemindName_Tap" HorizontalAlignment="Left" Text="{Binding Title}" TextWrapping="Wrap" Padding="10,2,0,0" Foreground="White" Height="40" Margin="2,0,0,0" FontSize="24" Width="365"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
这是一个绑定列表框。
如何在C#中更改图像和文本块中的列和“ Grid.Column”的值?
创建第二个视图并在它们之间切换。 这是切换示例
public class ViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private Visibility _visibility1;
public Visibility Visibility1
{
get { return _visibility1; }
set
{
_visibility1 = value;
OnPropertyChanged();
}
}
private Visibility _visibility2;
public Visibility Visibility2
{
get { return _visibility2; }
set
{
_visibility2 = value;
OnPropertyChanged();
}
}
public void OnPropertyChanged([CallerMemberName] string property = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
public partial class MainWindow : Window
{
private ViewModel _vm = new ViewModel() { Visibility1 = Visibility.Visible, Visibility2 = Visibility.Collapsed };
public MainWindow()
{
InitializeComponent();
DataContext = _vm;
}
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
_vm.Visibility1 = Visibility.Collapsed;
_vm.Visibility2 = Visibility.Visible;
}
private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
{
_vm.Visibility1 = Visibility.Visible;
_vm.Visibility2 = Visibility.Collapsed;
}
}
a
<StackPanel>
<CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked"/>
<TextBlock Text="ListBox1" Visibility="{Binding Visibility1}"/>
<TextBlock Text="ListBox2" Visibility="{Binding Visibility2}"/>
</StackPanel>
TextBlock
是您的两个ListBox
。 CheckBox
(以及后面的一些代码)用于模拟VisibilityX
属性的更改,通常在处理某些CommandSwapColumns
时应发生此更改。
可以使用转换器仅绑定到一个bool
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.