小编Cou*_*rlu的帖子

WPF MVVM 将字典<字符串,列表<字符串>> 绑定到数据网格

我无法Dictionary<string, List<string>>使用正确的布局将我的 WPF 数据网格绑定到我的 WPF 数据网格。

这是我的数据对象:

public class Result
{
    public Result(string type, string name, Dictionary<string, List<string>> partners)
    {
        Type = type;
        Name = name;
        Partners = partners;
    }

    public string Type { get; set; }
    public string Name { get; set; }
    public Dictionary<string, List<string>> Partners { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我填充了虚拟数据并作为我的视图模型的公共属性公开:

public class MainViewModel
{
    public MainViewModel()
    {   
        var partners = new Dictionary<string, List<string>>
        {
            {"Company", new List<string> {"company1", "company2"}},
            {"Operator", new List<string> {"false", "true"}}, …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml datagrid mvvm

5
推荐指数
1
解决办法
2098
查看次数

React 16.8 hooks - 子组件在更新父状态后不会重新渲染

我有一个Map具有几个状态的功能父组件,其中之一是layers,其值最初是从配置中设置的。

然后我有一个子LayerControl组件,它将地图的图层状态作为其道具。LayerControl 组件进行一些更改并将它们传递回 Map onLayerChange,然后使用 Map调用层 ( setLayers)的 setState 方法。

据我了解,这应该会触发我的 LayerControl 组件的重新渲染,但事实并非如此。我做错了什么?

export default function Map(){

const [viewport, setViewport] = useState(mapConfig.viewport);
const [style, setStyle] = useState(mapConfig.mapStyle);
const [layers, setLayers] = useState(mapConfig.layers);

function updateLayers(layers){
    setLayers(layers); //why won't LayerControl re-render?
}

return(
    <MapGL
        zoom={[viewport.zoom]}
        containerStyle={{
            height: "100%",
            width: "100%"
        }}
        style={style}>
        <LayerControl
            onLayerChange={layers => updateLayers(layers)} 
            layers={layers}
        />
        <ZoomControl/>
        <ScaleControl/>
    </MapGL>
);

}
Run Code Online (Sandbox Code Playgroud)

state reactjs mapbox-gl-js

1
推荐指数
1
解决办法
5376
查看次数

标签 统计

c# ×1

datagrid ×1

mapbox-gl-js ×1

mvvm ×1

reactjs ×1

state ×1

wpf ×1

xaml ×1