const template = {
a: '',
b: ''
}
const data = {
a: 'test',
b: 'test',
c: 'test'
}
function setData(inputTemplate, inputData) {
outputObject = {}
for (var key in inputTemplate) {
if (inputData[key]) {
outputObject[key] = inputData[key];
}
}
return outputObject
}
console.log(setData(template, data))
Воскрешение мертвого поста, возможно, самореклама? Более чем наверняка, однако, я (относительно недавно) запустил пакет тем Metro, в значительной степени основанный на материалах, которые я создал в MahTweets, и на пакете тем Silverlight Cosmopolitan специально для WPF
https://github.com/MahApps/MahApps.Metro
Использование простое, просто
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml"/>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Существуют некоторые предостережения относительно способа обработки тем из WPF другие сборки, которые вам придется изучить.
Он бесплатный, с открытым исходным кодом, и он хотел бы получить дополнительные материалы, если другие ищут что-то подобное в WPF.