我将Android Studio升级到3.4之后,将Android Gradle插件升级到3.4并升级到5.1.1
我收到如下数据绑定错误
我确保已清理项目并进行重建,已清除缓存并重新启动了AS。
升级之前从未发生过此问题
我可以确认这是因为新的gradle更新
DataBinderMapperImpl.java:54:错误:找不到符号
e:[kapt]发生异常:android.databinding.tool.util.LoggedErrorException:发现数据绑定错误。**** /数据绑定错误**** msg:尽管已注册导入表达式,但缺少
我找到了解决方案:解决方案:
我在UserControl中使用数据网格.如何在不使用DataGrid.Items.Refresh()的情况下更改其ItemsSource时自动刷新Datagrid;
我的用户控件上下文菜单可见性无法绑定依赖项属性.任何的想法?
这是我的WPF代码
<UserControl.ContextMenu>
<ContextMenu Visibility="{Binding ElementName=wellControl, Path=IsInCompactMode, Converter={StaticResource BooleanToVisibilityConverter}}">
<MenuItem Command="local:GCommands.Edit" />
<MenuItem Command="local:GCommands.Delete" />
<MenuItem Command="local:GCommands.ExportFcsFiles" />
<MenuItem Command="local:GCommands.BatchExportStatistics" />
<Separator/>
<MenuItem Command="local:GCommands.SaveAs" Header="Save As..." />
</ContextMenu>
</UserControl.ContextMenu>
Run Code Online (Sandbox Code Playgroud)
如果我设置Visibility ="Hidden",它将对我有用.像这样:
<ContextMenu Visibility="Hidden"/>
Run Code Online (Sandbox Code Playgroud)
如果使用它,它将无法正常工作
<ContextMenu Visibility="{Binding ElementName=wellControl, Path=IsInCompactMode, Converter={StaticResource BooleanToVisibilityConverter}}">
Run Code Online (Sandbox Code Playgroud)
我很确定Visibility ="{Binding ElementName = wellControl,Path = IsInCompactMode,Converter = {StaticResource BooleanToVisibilityConverter}}"没有问题,因为它适用于其他人.
这是我的依赖属性
public bool IsInCompactMode
{
get {return (bool)GetValue(IsInCompactModeProperty); }
set {SetValue(IsInCompactModeProperty, value); }
}
public static readonly DependencyProperty IsInCompactModeProperty =
DependencyProperty.Register("IsInCompactMode", typeof(bool), typeof(WellControl), new PropertyMetadata(false));
Run Code Online (Sandbox Code Playgroud)
我试过这种方式,似乎它仍然不起作用,这真是太奇怪了!
<ContextMenu x:Name="menu" IsOpen="{Binding ElementName=wellControl, …Run Code Online (Sandbox Code Playgroud) 我知道有一种方法可以阻止或现在通过使用ContextMenuOpening事件显示上下文菜单.
但我仍然想显示上下文菜单,只是禁用其中的所有内容,有没有办法做到这一点?
如何同时禁用所有菜单项?
<DataTemplate x:Key="ItemDataTemplate">
<Grid Background="Transparent">
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="New" Click="New_Click" />
<Separator />
<MenuItem Header="Duplicate" Click="Duplicate_Click"/>
<MenuItem Header="Delete" Click="Delete_Click" />
<MenuItem Header="Rename" Click="Rename_Click" />
<Separator />
<MenuItem Header="Export..." Click="Export_Click" />
<MenuItem Header="Print..." Command="ApplicationCommands.Print" InputGestureText="" />
<Separator />
<MenuItem Header="Properties" Click="Properties_Click" />
</ContextMenu>
</Grid.ContextMenu>
<StackPanel Orientation="Horizontal"
Margin="0,0,10,0"
HorizontalAlignment="Stretch"
Background="Transparent"
IsHitTestVisible="False">
</StackPanel>
</Grid>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud) 我有两个 DataGridTemplateColumn 模板
<DataTemplate x:Key="firstTemplate">
<UniformGrid Grid.Column="1" Columns="2">
<Label Background="{Binding Path=Color,
Converter={StaticResource gradientBrush}}"
Content="{Binding Path=Value}"
Style="{StaticResource WhiteCellLabelStyle}"
Visibility="Visible" />
</UniformGrid>
</DataTemplate>
<DataTemplate x:Key="secondTemplate">
<UniformGrid Grid.Column="1" Columns="{Binding Converter={StaticResource getColumnsAmount}}">
<Label Background="{Binding Path=ColorData_1.Color,
Converter={StaticResource gradientBrush}}"
Content="{Binding Path=ColorData_1,
Converter={StaticResource ValueRangeConvert}}"
Style="{StaticResource WhiteCellLabelStyle}"
Visibility="{Binding Path=ColorData_1.IsSelected,
Converter={StaticResource boolConvert}}" />
<Label Background="{Binding Path=ColorData_2.Color,
Converter={StaticResource gradientBrush}}"
Content="{Binding Path=ColorData_2,
Converter={StaticResource ValueRangeConvert}}"
Style="{StaticResource WhiteCellLabelStyle}"
Visibility="{Binding Path=ColorData_2.IsSelected,
Converter={StaticResource boolConvert}}" />
<Label Background="{Binding Path=ColorData_3.Color,
Converter={StaticResource gradientBrush}}"
Content="{Binding Path=ColorData_3,
Converter={StaticResource ValueRangeConvert}}"
Style="{StaticResource WhiteCellLabelStyle}"
Visibility="{Binding Path=ColorData_3.IsSelected,
Converter={StaticResource boolConvert}}" />
</UniformGrid>
</DataTemplate>
<DataGrid Name="dgLegend" …Run Code Online (Sandbox Code Playgroud) 我有一个svg文件,正在将其用于Google地图标记。尺寸为65像素x 65像素。
我想确保此自定义标记可以缩放到1500米。地图缩放时,它应该缩放。
我不确定如何使这项工作。需要一种算法来根据缩放级别计算scaledSize并使用户在地图上为1500米。
var offset = new google.maps.Point(50, 50);
var getIcon = function (uid, selected) {
return {
url: svg_url,
anchor: offset,
scaledSize: sccaledSize // not sure what to put here
};
};
new google.maps.Marker({
position: new google.maps.LatLng(xx,yy),
icon: getIcon(Uid, false)
});
Run Code Online (Sandbox Code Playgroud) svg google-maps google-maps-api-3 marker google-maps-markers
wpf ×4
contextmenu ×2
android ×1
androidx ×1
datagrid ×1
datatemplate ×1
google-maps ×1
marker ×1
refresh ×1
svg ×1
templates ×1