이것은 내 xaml 코드입니다. 데이터베이스에서DataGrid in.cs에 대한 이미지를 동적으로 바인딩하는 방법
<sdk:DataGrid x:Name="dgMarks" CanUserResizeColumns="False" SelectionMode="Single" AutoGenerateColumns="False" VerticalAlignment="Top" IsReadOnly="True" Margin="13,44,0,0" RowDetailsVisibilityChanged="dgMarks_RowDetailsVisibilityChanged" RowDetailsVisibilityMode="Collapsed" Height="391" HorizontalAlignment="Left" Width="965" SelectionChanged="dgMarks_SelectionChanged" VerticalScrollBarVisibility="Visible" >
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button x:Name="myButton"
Click="ExpandMarks_Click">
<TextBlock Text="{Binding Level}" TextWrapping="NoWrap" ></TextBlock>
<Image x:Name="imgMarks" Stretch="None"/>
</Button>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Header="Name" Visibility="Collapsed">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<sdk:Label Content="{Binding Name}"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Header="Marks" Width="80">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<sdk:Label Content="{Binding Marks}"/>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
내가이 값
name marks Level
abc 23 0
xyz 67 1
yu 56 0
aa 89 1
여기
내가 DataGrid에 대한 이러한 값을 결합하고 무엇입니까. 난 할 일이 까다로운 있습니다. 레벨에 따라 바인딩 수준이 1이면 바인딩 이미지 이어야하며 이미지를 바인드해야합니다. 레벨 값이 0이면 해당 행의 이미지를 바인드하지 마십시오.저는 이것이 어떻게 처리해야하는지 알고 있지만 어떤 이벤트에서이 코드를 작성해야합니까?
이public class LevelToVisibilityConverter : IValueConverter
{
/// <exception cref="ArgumentException">TargetType must be Visibility</exception>
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if(!(value is int))
throw new ArgumentException("Source must be of type int");
if(targetType != typeof(Visibility))
throw new ArgumentException("TargetType must be Visibility");
int v = (int) value;
if (v == 1)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
185 개 질문에 48 %? 만족스런 답을 얻지 못했던 90 가지 정도의 질문이 있습니까? – AnthonyWJones